aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-05-21Merge commit '7ed6fb9b5a5510e4ef78ab27419184741169978a' into x86/espfixH. Peter Anvin
Merge in Linus' tree with: fa81511bb0bb x86-64, modify_ldt: Make support for 16-bit segments a runtime option ... reverted, to avoid a conflict. This commit is no longer necessary with the proper fix in place. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2014-05-21Merge tag 'tegra-for-3.16-defconfig' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/boards Merge "ARM: tegra: defconfig updates for 3.16" from Stephen Warren: AT24C EEPROM: This is used for the board ID EEPROM on Jetson TK1, as well as likely a whole slew of other NVIDIA reference boards; we simply haven't added enabled the EEPROM in the DT files until now. MTD_SPI_NOR: This defconfig contains the CONFIG_M25P80 symbol, which is now dependent on the MTD_SPI_NOR symbol. Add CONFIG_MTD_SPI_NOR to satisfy the new dependency. FRAMEBUFFER_CONSOLE_ROTATION: Needed for devices like Tegra Note 7 and NVIDIA SHIELD to get the boot console in the expected orientation. CAN*, RTC_DRV_DS1307: Toradex Colibri Evaluation Board uses the DS1307 RTC and the MCP251x CAN controller. The NVIDIA Tegra 3 based Colibri T30 module can be used on this carrier board. Furthermore the NVIDIA Tegra 3 based Apalis T30 module too contains two MCP251x CAN controllers. INPUT_JOYDEV: NVIDIA SHIELD embeds a USB joystick device. * tag 'tegra-for-3.16-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: tegra_defconfig updates Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge tag 'tegra-for-3.16-dt' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt Merge "ARM: tegra: device tree changes for 3.16" from Stephen Warren: The bulk of Tegra changes for 3.16 are to device trees. Highlights are: - New board support for: - Jetson TK1. - SHIELD. - Tegra Note 7. - Colibri T30 module. - HDMI support on Venice2. - SD card write-protect GPIOs added to some boards. - Numerous regulator cleanups. * tag 'tegra-for-3.16-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: initial add of Colibri T30 ARM: tegra: add device tree for SHIELD ARM: tegra: add SD wp-gpios to Venice2 DT ARM: tegra: add Tegra Note 7 device tree ARM: tegra: add SD wp-gpios to Dalmore DT ARM: tegra: add SD wp-gpios to Jetson TK1 DT ARM: tegra: use correct audio CODEC on Jetson TK1 ARM: tegra: dalmore - Add DSI power supply ARM: tegra: dalmore - Add +5V HDMI supply ARM: tegra: beaver - Add +5V HDMI supply ARM: tegra: harmony - Add +5V HDMI supply ARM: tegra: jetson-tk1 - Enable HDMI support ARM: tegra: venice2 - Enable HDMI ARM: tegra: Add Tegra124 HDMI support ARM: tegra: fix Venice2 SD card VQMMC supply ARM: tegra: make Venice's +3.3V_RUN regulator always on ARM: tegra: fix Jetson TK1 SD card supply ARM: tegra: define Jetson TK1 regulators ARM: tegra: add Jetson TK1 device tree Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge tag 'tegra-for-3.16-soc' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/soc Merge "ARM: tegra: core code changes for 3.16" from Stephen Warren: This branch contains just a single patch this time around. Thierry enhanced Tegra's restart code to allow programming PMC scratch registers to request specific behaviour after reboot. One of the most useful options for mainline software is the ability to reboot directly into USB recovery mode, which e.g. allows the bootloader to be reflashed. * tag 'tegra-for-3.16-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Support reboot modes Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge tag 'imx-dt-3.16' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt Merge "ARM: imx: device tree changes for 3.16" from Shawn Guo: i.MX device tree changes for 3.16: - New board support: imx35-pdk, imx51-digi-connectcore, imx6dl-phytec, imx6dl-riotboard, and vf610-colibri. - Improve device tree support for imx51-babbage and eukrea-cpuimx51 to get the same level support as board files, so that we can kill the board files. - Quite some updates on imx27-phytec-phycore board support from Alexander Shiyan - Enable USB, sound and touchscreen on the eukrea imx25/35/51 boards, from Denis Carikli - Quite a lot of patches from Fabio Estevam, updating Freescale imx25-pdk and imx27-pdk board support - Correct USB device configuration for imx25/35 - Fixes i2c4 device node in imx6dl.dtsi regarding to compatible string and clock data - Enable HDMI, TVE, LVDS display support on a bunch of imx5/6 boards - Update PCIe to the new binding and enable PCIe support on imx6qdl-sabresd board - A couple of imx6q-dmo-edmqmx6 updates from Lucas Stach, adding pfuze irq gpio and SPI flash - Enable CODA7541 VPU for i.MX53 - A series of updates on imx6qdl-phytec boards from Philipp Zabel - Small cleanups and fixes on board imx28-duckbill - Michael Heimpold - Add stdout-path property to i.MX boards - Karo TX25 board updates from Sascha Hauer - Enable pwm and sdhc devices for board vf610-twr * tag 'imx-dt-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (105 commits) ARM: dts: imx35-pdk: Fix memory region description ARM: dts: imx51-eukrea-mbimxsd51-baseboard: Add CAN support ARM: dts: imx6: add new board RIoTboard ARM: dts: imx6: i2c4 cleanup ARM: dts: imx6: edmqmx6: add vcc and vio power supplies to stmpe ARM: dts: Karo TX25: use hardware ecc ARM: dts: Karo TX25: Add phy reset gpio and supply for FEC ARM: dts: Karo TX25: Add pinctrl nodes ARM: dts: i.MX25: Add IRAM node ARM: dts: i.MX25: Add mmc aliases ARM: dts: i.MX51 babbage: Fix FEC pad ctrl settings ARM: dts: imx6qdl-sabresd: Add USDHC4 support ARM: imx: add HDMI support for SolidRun HummingBoard and Cubox-i ARM: dts: imx6: edmqmx6: add SPI bus and flash ARM: dts: imx6: edmqmx6: add pinctrl for pfuze irq gpio ARM: dts: imx6q-udoo: Add HDMI support ARM: dts: Add stdout-path property to i.MX boards ARM: dts: imx: Fix LVDS mapping for Ventana GW52xx ARM: dts: imx: add LVDS backlight for Ventana ARM: dts: imx6qdl-sabresd: remove power-on gpio from pcie ... Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge tag 'imx-soc-3.16' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc Merge "ARM: imx: soc changes for 3.16" from Shawn Guo: i.MX SoC changes for 3.16: - A few cleanups on mx21ads board file, which should make the later conversion to DT a little bit easier. - Add some missing clocks and drop unused clk lookups for i.MX1 and i.MX27 clock drivers - Add initial i.MX SoloX (imx6sx) SoC support - Remove mx51_babbage and mach-cpuimx51sd board files, as the equivalent DT support is ready for the boards - Clean up device tree timer initialization a little bit - Add missing i2c4 clock for i.MX6 DualLite/Solo - Add missing CKO clock i.MX25 - Add shared gate clock support for i.MX specific clk_gate2 - Add low-level debug support for SoC VF610 - Some random code cleanups and defconfig updates * tag 'imx-soc-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (33 commits) ARM: mx25: Add CLKO support ARM: i.MX1 clk: Remove clk_register_clkdev() for unused clocks ARM: i.MX1 clk: Add missing clocks ARM: imx: add basic imx6sx SoC support ARM: imx: add clock driver for imx6sx ARM: imx: add low-level debug support for imx6sx ARM: mx51: Remove mach-cpuimx51sd board file ARM: i.MX: Setup IRQ handler from IRQ driver ARM: i.MX27 pca100: remove deprecated IRQF_DISABLED ARM: imx/mxs defconfigs: add MTD_SPI_NOR (new dependency for M25P80) ARM: i.MX: Fix eMMa PrP resource size ARM: imx_v4_v5_defconfig: drop CONFIG_COMMON_CLK_DEBUG option ARM: i.MX27 clk: Remove clk_register_clkdev() for unused clocks ARM: i.MX27 clk: Add missing clocks for MSHC and RTIC ARM: imx6q: add the missing esai_ahb clock ARM: imx: add shared gate clock support ARM: imx: lock is always valid for clk_gate2 ARM: imx: define struct clk_gate2 on our own ARM: i.MX: Remove #ifdef CONFIG_OF ARM: imx_v6_v7_defconfig: enable option CONFIG_LOCALVERSION_AUTO ... Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge branch 'sunxi/drivers-for-3.16' of https://github.com/mripard/linux ↵Olof Johansson
into next/drivers Merge "Allwinner drivers changes for 3.16" from Maxime Ripard: Reset drivers for the A31, that have been merged with reset maintainer's Acked-by. * 'sunxi/drivers-for-3.16' of https://github.com/mripard/linux: reset: sunxi: allow MFD subdevices probe reset: sunxi: document sunxi's reset controllers bindings Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-22Linux 3.15-rc6v3.15-rc6Linus Torvalds
2014-05-21Merge tag 'sunxi-defconfig-for-3.16' of https://github.com/mripard/linux ↵Olof Johansson
into next/boards Merge "Allwinner defconfig additions for 3.16" from Maxime Ripard. * tag 'sunxi-defconfig-for-3.16' of https://github.com/mripard/linux: ARM: sunxi: drop CONFIG_COMMON_CLK_DEBUG Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge tag 'sunxi-dt-for-3.16' of https://github.com/mripard/linux into next/dtOlof Johansson
Merge "Allwinner DT additions for 3.16" from Maxime Ripard: - Introduction of the MMC controlers - New board: A10s R7, Mele M9, APP4-EVB1 - Enabled the PMU on the Cortex A7-based SoCs * tag 'sunxi-dt-for-3.16' of https://github.com/mripard/linux: (38 commits) ARM: sunxi: dt: declare the r_pio pin controller for A31 SoC ARM: sunxi: dt: add PRCM clk and reset controller subdevices ARM: sunxi: dt: add APP4-EVB1 board support ARM: sun6i: dt: Add support for the USB controllers ARM: sun6i: Add the USB clocks to the DTSI ARM: dts: sun5i: Add new A10s r7 hdmi tv dongle board ARM: dts: sun7i: Add reg_vcc3v3 to sun7i board mmc nodes ARM: dts: sun6i: Add reg_vcc3v3 to sun6i board mmc nodes ARM: dts: sun5i: Add reg_vcc3v3 to sun5i board mmc nodes ARM: dts: sun4i: Add reg_vcc3v3 to sun4i board mmc nodes ARM: dts: sunxi: Add reg_vcc3v3 supply to sunxi-common-regulators.dtsi ARM: dts: sun7i: Add basic support for the Cubietruck WiFi module ARM: dts: sun7i: Enable mmc controller on various A20 boards ARM: dts: sun7i: Add pin-muxing info for the mmc controllers ARM: dts: sun7i: Add mmc controller nodes ARM: dts: sun6i: Add new sun6i-a31-m9 dts file for Mele M9 ARM: dts: sun6i: Add mmc controller nodes ARM: dts: sun6i: Add mmc clocks ARM: dts: sun5i: Enable mmc controller on various A10s and A13 boards ARM: dts: sun5i: Add mmc controller nodes ... Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge tag 'sunxi-core-for-3.16' of https://github.com/mripard/linux into ↵Olof Johansson
next/soc Merge "Allwinner SoCs core additions for 3.16" from Maxime Ripard: Refactor the Kconfig options to have one Kconfig option per machine. * tag 'sunxi-core-for-3.16' of https://github.com/mripard/linux: ARM: sunxi: select MFD_SUN6I_PRCM when sun6i arch support is enabled ARM: sunxi: Split the various SoCs support in Kconfig Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge tag 'renesas-r7s72100-ccf-for-v3.16' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/boards Merge "Renesas ARM Based r7s72100 SoC CCF Updates for v3.16" from Simon Horman: r7s72100 (RZ/A1H) SoC and its Genmai board * Add and use CCF support * Initislise SCIF, I2C and SPI via DT * tag 'renesas-r7s72100-ccf-for-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r7s72100: use workaround for non DT-clocks ARM: shmobile: Add forward declaration of struct clk to silence warning ARM: shmobile: r7s72100: remove SPI DT clocks from legacy clock support ARM: shmobile: r7s72100: add spi clocks to dtsi ARM: shmobile: r7s72100: remove I2C DT clocks from legacy clock support ARM: shmobile: r7s72100: add i2c clocks to dtsi ARM: shmobile: r7s72100: genmai: platform scif devices only for legacy support ARM: shmobile: r7s72100: genmai: add uart alias and activate scif2 as console ARM: shmobile: r7s72100: add scif nodes to dtsi ARM: shmobile: r7s72100: genmai: populate nodes for external clocks ARM: shmobile: r7s72100: add essential clock nodes to dtsi ARM: shmobile: r7s72100: document MSTP clock support Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge tag 'renesas-dt-scif-for-v3.16' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/boards Merge "Renesas ARM Based SoC dt-scif Updates for v3.16" from Simon Horman: r8a7791 (R-Car M2) based Koelsch board and r8a7790 (R-Car H1) based Lager board * Enable SCIF0 and SCIF1 serial ports in DT * tag 'renesas-dt-scif-for-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: koelsch: Enable SCIF0 and SCIF1 serial ports in DT ARM: shmobile: lager: Enable SCIF0 and SCIF1 serial ports in DT Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge tag 'vexpress/updates-for-3.16' of ↵Olof Johansson
git://git.linaro.org/people/pawel.moll/linux into next/cleanup Merge "ARM Versatile Express updates for 3.16" from Pawel Moll: This series reworks VE's platform configuration infrastructure by: - making it possible to instantiate selected devices from the Device Tree, prior to massive population, - converting custom "func" API into standard "regmap", - splitting the existing MFD driver into smaller ones and placing them into relevant directories. The common clock framework driver can now be selected individually (mostly for arm64 sake, where some of them are not used at all). It also simplifies the machine code, by: - moving the shed clock info clocksource driver, - simplifying SMP operations to base them entirely of the DT data, - moving platform ID checks into relevant driver. * tag 'vexpress/updates-for-3.16' of git://git.linaro.org/people/pawel.moll/linux: ARM: vexpress: move HBI check to sysreg driver ARM: vexpress: Simplify SMP operations for DT-powered system ARM: vexpress: remove redundant vexpress_dt_cpus_num to get cpu count clocksource: Sched clock source for Versatile Express clk: versatile: Split config options for sp810 and vexpress_osc mfd: vexpress: Define the device as MFD cells mfd: syscon: Add platform data with a regmap config name mfd: vexpress: Convert custom func API to regmap of: Keep track of populated platform devices + Linux 3.15-rc5 Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21ipv6: gro: fix CHECKSUM_COMPLETE supportEric Dumazet
When GRE support was added in linux-3.14, CHECKSUM_COMPLETE handling broke on GRE+IPv6 because we did not update/use the appropriate csum : GRO layer is supposed to use/update NAPI_GRO_CB(skb)->csum instead of skb->csum Tested using a GRE tunnel and IPv6 traffic. GRO aggregation now happens at the first level (ethernet device) instead of being done in gre tunnel. Native IPv6+TCP is still properly aggregated. Fixes: bf5a755f5e918 ("net-gre-gro: Add GRE support to the GRO stack") Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Jerry Chu <hkchu@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21wimax/i2400m: make return of 0 explicitJulia Lawall
Delete unnecessary local variable whose value is always 0 and that hides the fact that the result is always 0. A simplified version of the semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ local idexpression ret; expression e; position p; @@ -ret = 0; ... when != ret = e return - ret + 0 ; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21net: filter: cleanup invocation of internal BPFAlexei Starovoitov
Kernel API for classic BPF socket filters is: sk_unattached_filter_create() - validate classic BPF, convert, JIT SK_RUN_FILTER() - run it sk_unattached_filter_destroy() - destroy socket filter Cleanup internal BPF kernel API as following: sk_filter_select_runtime() - final step of internal BPF creation. Try to JIT internal BPF program, if JIT is not available select interpreter SK_RUN_FILTER() - run it sk_filter_free() - free internal BPF program Disallow direct calls to BPF interpreter. Execution of the BPF program should be done with SK_RUN_FILTER() macro. Example of internal BPF create, run, destroy: struct sk_filter *fp; fp = kzalloc(sk_filter_size(prog_len), GFP_KERNEL); memcpy(fp->insni, prog, prog_len * sizeof(fp->insni[0])); fp->len = prog_len; sk_filter_select_runtime(fp); SK_RUN_FILTER(fp, ctx); sk_filter_free(fp); Sockets, seccomp, testsuite, tracing are using different ways to populate sk_filter, so first steps of program creation are not common. Signed-off-by: Alexei Starovoitov <ast@plumgrid.com> Acked-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21Merge tag 'renesas-clock-cleanup2-for-v3.16' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/boards Merge "Renesas SoC Clock Cleanups for v3.16" from Simon Horman: Work from Laurent Pinchart to switch all Renesas platforms to the new style CMT, MTU2 and TMU device platform data. This is in preparation for initialising these devices using DT on ARM Based Renesas SoCs. * tag 'renesas-clock-cleanup2-for-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r7s72100: Switch to new style MTU2 device sh: Switch to new style MTU2 device ARM: shmobile: r8a7779: Switch to new style TMU device ARM: shmobile: r8a7778: Switch to new style TMU device ARM: shmobile: r8a7740: Switch to new style TMU device ARM: shmobile: sh73a0: Switch to new style TMU device ARM: shmobile: sh7372: Switch to new style TMU device sh: Switch to new style TMU device ARM: shmobile: r8a7791: Switch to new style CMT device ARM: shmobile: r8a7790: Switch to new style CMT device ARM: shmobile: r8a7740: Switch to new style CMT device ARM: shmobile: r8a73a4: Switch to new style CMT device ARM: shmobile: sh73a0: Switch to new style CMT device ARM: shmobile: sh7372: Switch to new style CMT device sh: Switch to new style CMT device Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge branch 'depends/clockevents-cleanups' into next/boardsOlof Johansson
Bringing in as an external dependency that the renesas/clock-cleanup2 branch relies on. * depends/clockevents-cleanups: (52 commits) clocksource: sh_mtu2: Sort headers alphabetically clocksource: sh_mtu2: Remove FSF mail address from GPL notice clocksource: sh_mtu2: Rename clock to "fck" in the non-legacy case clocksource: sh_mtu2: Add support for multiple channels per device clocksource: sh_mtu2: Hardcode MTU2 clock event rating to 200 clocksource: sh_mtu2: Set cpumask to cpu_possible_mask clocksource: sh_mtu2: Replace hardcoded register values with macros clocksource: sh_mtu2: Allocate channels dynamically clocksource: sh_mtu2: Replace kmalloc + memset with kzalloc clocksource: sh_mtu2: Add index to struct sh_mtu2_channel clocksource: sh_mtu2: Add memory base to sh_mtu2_channel structure clocksource: sh_mtu2: Constify name argument to sh_mtu2_register() clocksource: sh_mtu2: Split channel setup to separate function clocksource: sh_mtu2: Rename struct sh_mtu2_priv to sh_mtu2_device clocksource: sh_mtu2: Split channel fields from sh_mtu2_priv clocksource: sh_mtu2: Turn sh_mtu2_priv fields into local variables clocksource: sh_mtu2: Use request_irq() instead of setup_irq() clocksource: sh_tmu: Sort headers alphabetically clocksource: sh_tmu: Remove FSF mail address from GPL notice clocksource: sh_tmu: Rename clock to "fck" in the non-legacy case ... Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-21Merge branch 'enic-next'David S. Miller
Govindarajulu Varadarajan says: ==================== enic: Add adaptive coalescing interrupt support This series add support for adaptive coalescing interrupt and updates enic Maintainers. v1->v2: * Add commit log * do vnic_intr_coalescing_timer_set only while enabling intr * use ktime_get instead of hrtimer * make enic_set_rx_coal_setting return type void * change func name enic_apply_int_moderation to enic_calc_int_moderation ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21MAINTAINERS: Update enic maintainersGovindarajulu Varadarajan
Cc: Sujith Sankar <ssujith@cisco.com> Cc: Christian Benvenuti <benve@cisco.com> Cc: Neel Patel <neepatel@cisco.com> Signed-off-by: Govindarajulu Varadarajan <_govind@gmx.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21enic: Add support for adaptive interrupt coalescingSujith Sankar
This patch adds support for adaptive interrupt coalescing. For small pkts with low pkt rate, we can decrease the coalescing interrupt dynamically which decreases the latency. This however increases the cpu utilization. Based on testing with different coal intr and pkt rate we came up with a table(mod_table) with rx_rate and coalescing interrupt value where we get low latency without significant increase in cpu. mod_table table stores the coalescing timer percentage value for different throughputs. Function enic_calc_int_moderation() calculates the desired coalescing intr timer value. This function is called in driver rx napi_poll. The actual value is set by enic_set_int_moderation() which is called when napi_poll is complete. i.e when we unmask the rx intr. Adaptive coal intr is support only when driver is using msix intr. Because intr is not shared. Struct mod_range is used to store only the default adaptive coalescing intr value. Adaptive coal intr calue is calculated by timer = range_start + ((rx_coal->range_end - range_start) * mod_table[index].range_percent / 100); rx_coal->range_end is the rx-usecs-high value set using ethtool. range_start is rx-usecs-low, set using ethtool, if rx_small_pkt_bytes_cnt is greater than 2 * rx_large_pkt_bytes_cnt. i.e small pkts are dominant. Else its rx-usecs-low + 3. Cc: Christian Benvenuti <benve@cisco.com> Cc: Neel Patel <neepatel@cisco.com> Signed-off-by: Sujith Sankar <ssujith@cisco.com> Signed-off-by: Govindarajulu Varadarajan <_govind@gmx.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21dmaengine: fix dmaengine_unmap failureXuelin Shi
The count which is used to get_unmap_data maybe not the same as the count computed in dmaengine_unmap which causes to free data in a wrong pool. This patch fixes this issue by keeping the map count with unmap_data structure and use this count to get the pool. Cc: <stable@vger.kernel.org> Signed-off-by: Xuelin Shi <xuelin.shi@freescale.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2014-05-21dma: mv_xor: Flush descriptors before activating a channelEzequiel Garcia
We need to use writel() instead of writel_relaxed() when starting a channel, to ensure all the descriptors have been flushed before the activation. While at it, remove the unneeded read-modify-write and make the code simpler. Cc: <stable@vger.kernel.org> Signed-off-by: Lior Amsalem <alior@marvell.com> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2014-05-22Merge branch 'merge' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc Pull two powerpc fixes from Ben Herrenschmidt: "Here are a couple of fixes for 3.15. One from Anton fixes a nasty regression I introduced when trying to fix a loss of irq_work whose consequences is that we can completely lose timer interrupts on a CPU... not pretty. The other one is a change to our PCIe reset hook to use a firmware call instead of direct config space accesses to trigger a fundamental reset on the root port. This is necessary so that the FW gets a chance to disable the link down error monitoring, which would otherwise trip and cause subsequent fatal EEH error" * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: irq work racing with timer interrupt can result in timer interrupt hang powerpc/powernv: Reset root port in firmware
2014-05-21net_sched: fix an oops in tcindex filterCong Wang
Kelly reported the following crash: IP: [<ffffffff817a993d>] tcf_action_exec+0x46/0x90 PGD 3009067 PUD 300c067 PMD 11ff30067 PTE 800000011634b060 Oops: 0000 [#1] SMP DEBUG_PAGEALLOC CPU: 1 PID: 639 Comm: dhclient Not tainted 3.15.0-rc4+ #342 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 task: ffff8801169ecd00 ti: ffff8800d21b8000 task.ti: ffff8800d21b8000 RIP: 0010:[<ffffffff817a993d>] [<ffffffff817a993d>] tcf_action_exec+0x46/0x90 RSP: 0018:ffff8800d21b9b90 EFLAGS: 00010283 RAX: 00000000ffffffff RBX: ffff88011634b8e8 RCX: ffff8800cf7133d8 RDX: ffff88011634b900 RSI: ffff8800cf7133e0 RDI: ffff8800d210f840 RBP: ffff8800d21b9bb0 R08: ffffffff8287bf60 R09: 0000000000000001 R10: ffff8800d2b22b24 R11: 0000000000000001 R12: ffff8800d210f840 R13: ffff8800d21b9c50 R14: ffff8800cf7133e0 R15: ffff8800cad433d8 FS: 00007f49723e1840(0000) GS:ffff88011a800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffff88011634b8f0 CR3: 00000000ce469000 CR4: 00000000000006e0 Stack: ffff8800d2170188 ffff8800d210f840 ffff8800d2171b90 0000000000000000 ffff8800d21b9be8 ffffffff817c55bb ffff8800d21b9c50 ffff8800d2171b90 ffff8800d210f840 ffff8800d21b0300 ffff8800d21b9c50 ffff8800d21b9c18 Call Trace: [<ffffffff817c55bb>] tcindex_classify+0x88/0x9b [<ffffffff817a7f7d>] tc_classify_compat+0x3e/0x7b [<ffffffff817a7fdf>] tc_classify+0x25/0x9f [<ffffffff817b0e68>] htb_enqueue+0x55/0x27a [<ffffffff817b6c2e>] dsmark_enqueue+0x165/0x1a4 [<ffffffff81775642>] __dev_queue_xmit+0x35e/0x536 [<ffffffff8177582a>] dev_queue_xmit+0x10/0x12 [<ffffffff818f8ecd>] packet_sendmsg+0xb26/0xb9a [<ffffffff810b1507>] ? __lock_acquire+0x3ae/0xdf3 [<ffffffff8175cf08>] __sock_sendmsg_nosec+0x25/0x27 [<ffffffff8175d916>] sock_aio_write+0xd0/0xe7 [<ffffffff8117d6b8>] do_sync_write+0x59/0x78 [<ffffffff8117d84d>] vfs_write+0xb5/0x10a [<ffffffff8117d96a>] SyS_write+0x49/0x7f [<ffffffff8198e212>] system_call_fastpath+0x16/0x1b This is because we memcpy struct tcindex_filter_result which contains struct tcf_exts, obviously struct list_head can not be simply copied. This is a regression introduced by commit 33be627159913b094bb578 (net_sched: act: use standard struct list_head). It's not very easy to fix it as the code is a mess: if (old_r) memcpy(&cr, r, sizeof(cr)); else { memset(&cr, 0, sizeof(cr)); tcf_exts_init(&cr.exts, TCA_TCINDEX_ACT, TCA_TCINDEX_POLICE); } ... tcf_exts_change(tp, &cr.exts, &e); ... memcpy(r, &cr, sizeof(cr)); the above code should equal to: tcindex_filter_result_init(&cr); if (old_r) cr.res = r->res; ... if (old_r) tcf_exts_change(tp, &r->exts, &e); else tcf_exts_change(tp, &cr.exts, &e); ... r->res = cr.res; after this change, since there is no need to copy struct tcf_exts. And it also fixes other places zero'ing struct's contains struct tcf_exts. Fixes: commit 33be627159913b0 (net_sched: act: use standard struct list_head) Reported-by: Kelly Anderson <kelly@xilka.com> Tested-by: Kelly Anderson <kelly@xilka.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21vxge: Use time_before()Manuel Schölling
To be future-proof and for better readability the time comparisons are modified to use time_before() instead of plain, error-prone math. Signed-off-by: Manuel Schölling <manuel.schoelling@gmx.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-22Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull two btrfs fixes from Chris Mason: "This has two fixes that we've been testing for 3.16, but since both are safe and fix real bugs, it makes sense to send for 3.15 instead" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: send, fix incorrect ref access when using extrefs Btrfs: fix EIO on reading file after ioctl clone works on it
2014-05-22Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull two ceph fixes from Sage Weil: "The first patch fixes a problem when we have a page count of 0 for sendpage which is triggered by zfs. The second fixes a bug in CRUSH that was resolved in the userland code a while back but fell through the cracks on the kernel side" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: crush: decode and initialize chooseleaf_vary_r libceph: fix corruption when using page_count 0 page in rbd
2014-05-21reiserfs: call truncate_setsize under tailpack mutexJeff Mahoney
Prior to commit 0e4f6a791b1e (Fix reiserfs_file_release()), reiserfs truncates serialized on i_mutex. They mostly still do, with the exception of reiserfs_file_release. That blocks out other writers via the tailpack mutex and the inode openers counter adjusted in reiserfs_file_open. However, NFS will call reiserfs_setattr without having called ->open, so we end up with a race when nfs is calling ->setattr while another process is releasing the file. Ultimately, it triggers the BUG_ON(inode->i_size != new_file_size) check in maybe_indirect_to_direct. The solution is to pull the lock into reiserfs_setattr to encompass the truncate_setsize call as well. Signed-off-by: Jeff Mahoney <jeffm@suse.com> Cc: <stable@vger.kernel.org> Signed-off-by: Jan Kara <jack@suse.cz>
2014-05-22Merge tag 'xfs-for-linus-3.15-rc6' of git://oss.sgi.com/xfs/xfsLinus Torvalds
Pull xfs fixes from Dave Chinner: "Code inspection of the XFS error number sign translations found a bunch of issues, including returning incorrectly signed errors for some data integrity operations. These leak to userspace and result in applications not getting the errors correctly reported. Hence they need fixing sooner rather than later. A couple of the bugs are in data integrity operations, a couple more are in the new COLLAPSE_RANGE code. One of these came in through a recent ext4 merge and so I had to update the base tree to 3.15-rc5 before fixing the issues" * tag 'xfs-for-linus-3.15-rc6' of git://oss.sgi.com/xfs/xfs: xfs: list_lru_init returns a negative error xfs: negate xfs_icsb_init_counters error value xfs: negate mount workqueue init error value xfs: fix wrong err sign on xfs_set_acl() xfs: fix wrong errno from xfs_initxattrs xfs: correct error sign on COLLAPSE_RANGE errors xfs: xfs_commit_metadata returns wrong errno xfs: fix incorrect error sign in xfs_file_aio_read xfs: xfs_dir_fsync() returns positive errno
2014-05-22Merge branch 'renameat2' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs Pull renameat2 arch support from Miklos Szeredi: "I've collected architecture patches for the renameat2 syscall that maintainers acked and/or asked me to queue. This adds architecture support for the renameat2 syscall to m68k, parisc, ia64 and through asm-generic to arc, arm64, c6x, hexagon, metag, openrisc, score, tile, unicore32" * 'renameat2' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs: scripts/checksyscalls.sh: Make renameat optional asm-generic: Add renameat2 syscall ia64: add renameat2 syscall parisc: add renameat2 syscall m68k: add renameat2 syscall
2014-05-21ieee802154: Introduce the use of the managed version of kzallocHimangi Saraogi
This patch moves data allocated using kzalloc to managed data allocated using devm_kzalloc and cleans now unnecessary kfrees in probe and remove functions. An explicit linux/device.h include is added to make sure the devm_*() routine declarations are unambiguously available. The following Coccinelle semantic patch was used for making the change: @platform@ identifier p, probefn, removefn; @@ struct platform_driver p = { .probe = probefn, .remove = removefn, }; @prb@ identifier platform.probefn, pdev; expression e, e1, e2; @@ probefn(struct platform_device *pdev, ...) { <+... - e = kzalloc(e1, e2) + e = devm_kzalloc(&pdev->dev, e1, e2) ... ?-kfree(e); ...+> } @rem depends on prb@ identifier platform.removefn; expression e; @@ removefn(...) { <... - kfree(e); ...> } Signed-off-by: Himangi Saraogi <himangi774@gmail.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21blk-mq: save memory by freeing requests on unused hardware queuesJens Axboe
Depending on the topology of the machine and the number of queues exposed by a device, we can end up in a situation where some of the hardware queues are unused (as in, they don't map to any software queues). For this case, free up the memory used by the request map, as we will not use it. This can be a substantial amount of memory, depending on the number of queues vs CPUs and the queue depth of the device. Signed-off-by: Jens Axboe <axboe@fb.com>
2014-05-21blk-mq: allow the hctx cpu hotplug notifier to return errorsJens Axboe
Prepare this for the next patch which adds more smarts in the plugging logic, so that we can save some memory. Signed-off-by: Jens Axboe <axboe@fb.com>
2014-05-21atm: idt77252: Remove redundant error checkPeter Senna Tschudin
Remove double checks, convert printk to pr_warn, and move the call to pr_warn to the first check. The simplified version of the coccinelle semantic patch that find this issue is as follows: // <smpl> @@ expression E; identifier pr; expression list es; @@ while(...){ ... - if (E) break; + if (E){ + pr(es); + break; + } ... } - if(E) pr(es); // </smpl> Tested by compilation only. Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21mtd: nand: pxa3xx: Add supported ECC strength and step size to the DT bindingEzequiel Garcia
This commit updates the devicetree binding documentation for this driver with the supported ECC strength and step size combinations. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2014-05-21mtd: nand: pxa3xx: Use ECC strength and step size devicetree bindingEzequiel Garcia
This commit adds support for the user to specify the ECC strength and step size through the devicetree. We keep the previous behavior, when there is no DT parameter provided. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2014-05-21mtd: nand: pxa3xx: Clean pxa_ecc_init() error handlingEzequiel Garcia
Let's make pxa_ecc_init() return a negative errno on error or zero if succesful, which is standard kernel practice. Also, report the selected ECC strength and step size, which is important information. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2014-05-21mtd: nand: Warn the user if the selected ECC strength is too weakEzequiel Garcia
This commit makes use of the chip->ecc_strength_ds and chip->ecc_step_ds which contain the datasheet minimum requested ECC strength to produce a noisy warning if the configured ECC strength is weaker. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2014-05-21sparc64: fix format string mismatch in arch/sparc/kernel/sysfs.cToralf Förster
found by cppcheck Signed-off-by: Toralf Förster <toralf.foerster@gmx.de> Acked-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21ipv6: slight optimization in ip6_dst_gcLi RongQing
entries is always greater than rt_max_size here, since if entries is less than rt_max_size, the fib6_run_gc function will be skipped Signed-off-by: Li RongQing <roy.qing.li@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21net-tun: restructure tun_do_read for better sleep/wakeup efficiencyXi Wang
tun_do_read always adds current thread to wait queue, even if a packet is ready to read. This is inefficient because both sleeper and waker want to acquire the wait queue spin lock when packet rate is high. We restructure the read function and use common kernel networking routines to handle receive, sleep and wakeup. With the change available packets are checked first before the reading thread is added to the wait queue. Ran performance tests with the following configuration: - my packet generator -> tap1 -> br0 -> tap0 -> my packet consumer - sender pinned to one core and receiver pinned to another core - sender send small UDP packets (64 bytes total) as fast as it can - sandy bridge cores - throughput are receiver side goodput numbers The results are baseline: 731k pkts/sec, cpu utilization at 1.50 cpus changed: 783k pkts/sec, cpu utilization at 1.53 cpus The performance difference is largely determined by packet rate and inter-cpu communication cost. For example, if the sender and receiver are pinned to different cpu sockets, the results are baseline: 558k pkts/sec, cpu utilization at 1.71 cpus changed: 690k pkts/sec, cpu utilization at 1.67 cpus Co-authored-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Xi Wang <xii@google.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21net: tunnels - enable module autoloadingTom Gundersen
Enable the module alias hookup to allow tunnel modules to be autoloaded on demand. This is in line with how most other netdev kinds work, and will allow userspace to create tunnels without having CAP_SYS_MODULE. Signed-off-by: Tom Gundersen <teg@jklm.no> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-21sata_fsl: remove check for CONFIG_MPC8315_DSPaul Bolle
A check for CONFIG_MPC8315_DS was added in v2.6.24. But the related Kconfig symbol was never added to the tree. So the code behind this check has effectively been dead for over six years. Remove it. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Tejun Heo <tj@kernel.org>
2014-05-22Merge tag 'iommu-fixes-v3.15-rc5' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull iommu fixes from Joerg Roedel: "Three fixes for the AMD IOMMU driver: - fix a locking issue around get_user_pages() - fix two issues with device aliasing and exclusion range handling" * tag 'iommu-fixes-v3.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu/amd: fix enabling exclusion range for an exact device iommu/amd: Take mmap_sem when calling get_user_pages iommu/amd: Fix interrupt remapping for aliased devices
2014-05-22Merge tag 'stable/for-linus-3.15-rc5-tag' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft Pull iscsi_ibft fix from Konrad Rzeszutek Wilk: "Fix iBFT regression on Broadcom NICs introduced in 3.2" * tag 'stable/for-linus-3.15-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft: iscsi_ibft: Fix finding Broadcom specific ibft sign
2014-05-22Merge tag 'renesas-sh-drivers-for-v3.15' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas Pull SH driver fix from Simon Horman: "Compile drivers/sh/pm_runtime.c if ARCH_SHMOBILE_MULTI This resolves a regression introduced in v3.14 by commit bf98c1eac1d4 ("ARM: Rename ARCH_SHMOBILE to ARCH_SHMOBILE_LEGACY")" * tag 'renesas-sh-drivers-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: drivers: sh: compile drivers/sh/pm_runtime.c if ARCH_SHMOBILE_MULTI
2014-05-21x86/PCI: Work around AMD Fam15h BIOSes that fail to provide _PXMSuravee Suthikulpanit
The BIOS is supposed to provide ACPI _PXM methods for PCI host bridges if it cares about platform topology. But some BIOSes do not, so add Fam15h to the list of CPUs for which we fall back to reading node numbers from the hardware. Note that pci_acpi_scan_root() warns about the BIOS bug if we use this information because (1) the hardware node numbers are not necessarily compatible with other logical node numbers from ACPI, and (2) the lack of _PXM forces OS updates that would not otherwise be required. [bhelgaas: changelog, comments] Link: https://bugzilla.kernel.org/show_bug.cgi?id=72051 Tested-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com> Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> Signed-off-by: Myron Stowe <myron.stowe@redhat.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Cc: Borislav Petkov <bp@suse.de> Cc: Robert Richter <rric@kernel.org> Cc: Daniel J Blueman <daniel@numascale.com> Cc: Andreas Herrmann <herrmann.der.user@googlemail.com>
2014-05-21x86/PCI: Warn if we have to "guess" host bridge node informationMyron Stowe
The vast majority of platforms are not supplying ACPI _PXM (proximity) information corresponding to host bridge (PNP0A03/PNP0A08) devices resulting in sysfs "numa_node" values of -1 (NUMA_NO_NODE): # for i in /sys/devices/pci0000\:00/*/numa_node; do cat $i; done | uniq -1 # find /sys/ -name "numa_node" | while read fname; do cat $fname; \ done | uniq -1 AMD based platforms provide a fall-back for this situation via amd_bus.c. These platforms snoop out the information by directly reading specific registers from the Northbridge and caching them via alloc_pci_root_info(). Later during boot processing when host bridges are discovered - pci_acpi_scan_root() - the kernel looks for their corresponding ACPI _PXM method - drivers/acpi/numa.c::acpi_get_node(). If the BIOS supplied a _PXM method then that node (proximity) value is associated. If the BIOS did not supply a _PXM method *and* the platform is AMD-based, the fall-back cached values obtained directly from the Northbridge are used; otherwise, "NUMA_NO_NODE" is associated. There are a number of issues with this fall-back mechanism the most notable being that amd_bus.c extracts a 3-bit number from a CPU register and uses it as the node number. The node numbers used by Linux are logical and there's no reason they need to be identical to settings in the CPU registers. So if we have some node information obtained in the normal way (from _PXM, SLIT, SRAT, etc.) and some from amd_bus.c, there's no reason to believe they will be compatible. This patch warns when this situation occurs: pci_root PNP0A08:00: [Firmware Bug]: no _PXM; falling back to node 0 from hardware (may be inconsistent with ACPI node numbers) Link: https://bugzilla.kernel.org/show_bug.cgi?id=72051 Signed-off-by: Myron Stowe <myron.stowe@redhat.com> Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>