android-sdk/kernel-video.git
6 years agoti_config_fragments: android_omap.cfg: Switch to 8250_omap driver ttyS from ttyO
Praneeth Bajjuri [Wed, 4 Mar 2015 21:30:49 +0000 (15:30 -0600)]
ti_config_fragments: android_omap.cfg: Switch to 8250_omap driver ttyS from ttyO

commit 37de5ba0b14821b1a439ce635ae8551bdc16af54
Author: Sekhar Nori <nsekhar@ti.com>
ti_config_fragments/connectivity.cfg: switch to 8250_omap driver

introduced 8250 omap driver which switched from TTYOx to TTYSx.

take care of CMDLINE accordingly for android console and boot.

Change-Id: Id89b69f30b76659cac05b51acbdeea534ff82927
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
6 years agoMerge branch 'p-ti-linux-3.14.y-common' into p-ti-linux-3.14.y-android
Praneeth Bajjuri [Wed, 4 Mar 2015 21:40:01 +0000 (15:40 -0600)]
Merge branch 'p-ti-linux-3.14.y-common' into p-ti-linux-3.14.y-android

* p-ti-linux-3.14.y-common:
  media: ti-vpe: vip: Don't fail if pinctrl resource is not found
  media: ti-vpe: vip: Wrong line stride generated wrongly reported bytesperline
  media: ti-vpe: vip: Fix s_fmt behavior
  media: ti-vpe: vip: Fix g_fmt behavior
  media: ti-vpe: vip: Make sure v4l2_ctrl are passed on to subdev
  media: ti-vpe: vip: Fix a kernel WARN when aborting a stream
  media: ti-vpe: vip: propagate s_stream signal to sub-device
  media: ti-vpe: vip: Fix bug in format handling
  ARM: dts: am57xx-evm: Add VIP and MT9T111 required nodes
  media: v4l: add mt9t11x to Kconfig and Makefile
  media: i2c: Document mt9t11x sensor driver bindings
  media: sensor: Create an i2c mt9t11x driver
  ARM: dts: dra7x-evm: avoid possible contention while muxing on CAN lines
  arm: dts: TI bluetooth: switch to 8250_omap serial device
  ti_config_fragments/connectivity.cfg: switch to 8250_omap driver
  tty: serial: 8250: omap: fix kernel crash in suspend-to-ram
  ARM: DRA7-evm: Remove pin mux

Change-Id: I380a158eb9aca1228446bbcef11abefe53d42977
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
6 years agoMerge branch 'ti-linux-3.14.y' of git://git.ti.com/ti-linux-kernel/ti-linux-kernel...
Praneeth Bajjuri [Wed, 4 Mar 2015 20:42:33 +0000 (14:42 -0600)]
Merge branch 'ti-linux-3.14.y' of git://git.ti.com/ti-linux-kernel/ti-linux-kernel into p-ti-linux-3.14.y-common

* 'ti-linux-3.14.y' of git://git.ti.com/ti-linux-kernel/ti-linux-kernel:
  media: ti-vpe: vip: Don't fail if pinctrl resource is not found
  media: ti-vpe: vip: Wrong line stride generated wrongly reported bytesperline
  media: ti-vpe: vip: Fix s_fmt behavior
  media: ti-vpe: vip: Fix g_fmt behavior
  media: ti-vpe: vip: Make sure v4l2_ctrl are passed on to subdev
  media: ti-vpe: vip: Fix a kernel WARN when aborting a stream
  media: ti-vpe: vip: propagate s_stream signal to sub-device
  media: ti-vpe: vip: Fix bug in format handling
  ARM: dts: am57xx-evm: Add VIP and MT9T111 required nodes
  media: v4l: add mt9t11x to Kconfig and Makefile
  media: i2c: Document mt9t11x sensor driver bindings
  media: sensor: Create an i2c mt9t11x driver
  ARM: dts: dra7x-evm: avoid possible contention while muxing on CAN lines
  arm: dts: TI bluetooth: switch to 8250_omap serial device
  ti_config_fragments/connectivity.cfg: switch to 8250_omap driver
  tty: serial: 8250: omap: fix kernel crash in suspend-to-ram
  ARM: DRA7-evm: Remove pin mux

Change-Id: Id4b9f7b7b534aa9937aa8aafa9db7d741b5f4029
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
6 years agoMerge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux...
Dan Murphy [Wed, 4 Mar 2015 14:57:28 +0000 (08:57 -0600)]
Merge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux-kernel/audio-display-linux-feature-tree into ti-linux-3.14.y

TI-Feature: audio-display
TI-Tree: git://git.ti.com/~darrene/ti-linux-kernel/audio-display-linux-feature-tree.git
TI-Branch: audio-display-ti-linux-3.14.y

* 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux-kernel/audio-display-linux-feature-tree:
  media: ti-vpe: vip: Don't fail if pinctrl resource is not found
  media: ti-vpe: vip: Wrong line stride generated wrongly reported bytesperline
  media: ti-vpe: vip: Fix s_fmt behavior
  media: ti-vpe: vip: Fix g_fmt behavior
  media: ti-vpe: vip: Make sure v4l2_ctrl are passed on to subdev
  media: ti-vpe: vip: Fix a kernel WARN when aborting a stream
  media: ti-vpe: vip: propagate s_stream signal to sub-device
  media: ti-vpe: vip: Fix bug in format handling
  ARM: dts: am57xx-evm: Add VIP and MT9T111 required nodes
  media: v4l: add mt9t11x to Kconfig and Makefile
  media: i2c: Document mt9t11x sensor driver bindings
  media: sensor: Create an i2c mt9t11x driver

Conflicts:
arch/arm/boot/dts/am57xx-evm.dts

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoMerge branch 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel...
Dan Murphy [Wed, 4 Mar 2015 14:14:37 +0000 (08:14 -0600)]
Merge branch 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-3.14.y

TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-3.14.y

* 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
  ARM: DRA7-evm: Remove pin mux

Conflicts:
arch/arm/boot/dts/dra7-evm.dts

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agomedia: ti-vpe: vip: Don't fail if pinctrl resource is not found
Benoit Parrot [Wed, 4 Mar 2015 00:43:35 +0000 (18:43 -0600)]
media: ti-vpe: vip: Don't fail if pinctrl resource is not found

When pinctrl resources are not found just warn and continue
instead of exiting.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agomedia: ti-vpe: vip: Wrong line stride generated wrongly reported bytesperline
Benoit Parrot [Mon, 2 Mar 2015 23:52:08 +0000 (17:52 -0600)]
media: ti-vpe: vip: Wrong line stride generated wrongly reported bytesperline

The bytesperline property gets wrongly reported due to
an incorrect stride alignment being used.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Acked-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agomedia: ti-vpe: vip: Fix s_fmt behavior
Benoit Parrot [Mon, 2 Mar 2015 23:52:07 +0000 (17:52 -0600)]
media: ti-vpe: vip: Fix s_fmt behavior

Currently s_fmt is setup to configure the H/W params and the VIP parser
when invoked. This assumes that s_fmt is always called before s_stream.
Although most user application do always call s_fmt before s_stream,
it is not always the case, g-streamer is an example, where if it
finds that reported format g_fmt is acceptable it will happily start
a capture stream.

So here we make sure that the H/W params and the VIP parser are configured
when streaming starts instead.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Acked-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agomedia: ti-vpe: vip: Fix g_fmt behavior
Benoit Parrot [Mon, 2 Mar 2015 23:52:06 +0000 (17:52 -0600)]
media: ti-vpe: vip: Fix g_fmt behavior

When g_fmt is invoked the first time the current format may not match
the subdevice reported format. Here we make sure that the reported
format is consistent.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Acked-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agomedia: ti-vpe: vip: Make sure v4l2_ctrl are passed on to subdev
Benoit Parrot [Mon, 2 Mar 2015 23:52:05 +0000 (17:52 -0600)]
media: ti-vpe: vip: Make sure v4l2_ctrl are passed on to subdev

Make sure subdevice v4l2 controls are properly handled.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Acked-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agomedia: ti-vpe: vip: Fix a kernel WARN when aborting a stream
Benoit Parrot [Mon, 2 Mar 2015 23:52:04 +0000 (17:52 -0600)]
media: ti-vpe: vip: Fix a kernel WARN when aborting a stream

On occasion a kernel WARN was seen when aborting a streaming session.
Fix make sure pending buffer is unmapped before operating on it.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Acked-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agomedia: ti-vpe: vip: propagate s_stream signal to sub-device
Benoit Parrot [Mon, 2 Mar 2015 23:52:03 +0000 (17:52 -0600)]
media: ti-vpe: vip: propagate s_stream signal to sub-device

Make sure the s_stream signal is propagated to the sub-device
in the stop/start_streaming call.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Acked-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agomedia: ti-vpe: vip: Fix bug in format handling
Benoit Parrot [Mon, 2 Mar 2015 23:52:02 +0000 (17:52 -0600)]
media: ti-vpe: vip: Fix bug in format handling

Internal vip_format table entries were getting overwritten
when vip_g_fmt_vid_cap and vip_video_pix_to_mbus.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Acked-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agoARM: dts: am57xx-evm: Add VIP and MT9T111 required nodes
Benoit Parrot [Wed, 25 Feb 2015 20:46:34 +0000 (14:46 -0600)]
ARM: dts: am57xx-evm: Add VIP and MT9T111 required nodes

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agomedia: v4l: add mt9t11x to Kconfig and Makefile
Benoit Parrot [Wed, 25 Feb 2015 20:46:33 +0000 (14:46 -0600)]
media: v4l: add mt9t11x to Kconfig and Makefile

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agomedia: i2c: Document mt9t11x sensor driver bindings
Benoit Parrot [Wed, 25 Feb 2015 20:46:32 +0000 (14:46 -0600)]
media: i2c: Document mt9t11x sensor driver bindings

Add mt9t11x sensor driver idocumentation to DT bindings.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agomedia: sensor: Create an i2c mt9t11x driver
Benoit Parrot [Wed, 25 Feb 2015 20:46:31 +0000 (14:46 -0600)]
media: sensor: Create an i2c mt9t11x driver

Create a Video4Linux2 i2c sub device sensor driver for Aptina/Micron MT9T11x
sensor by using the existing soc_camera/mt9t112.c as a starting point.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
6 years agoMerge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integrat...
Texas Instruments Auto Merger [Wed, 4 Mar 2015 07:21:33 +0000 (01:21 -0600)]
Merge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-3.14.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-3.14.y

* 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  ARM: dts: dra7x-evm: avoid possible contention while muxing on CAN lines

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agoMerge branch 'p-ti-linux-3.14.y-common' into p-ti-linux-3.14.y-android
Praneeth Bajjuri [Wed, 4 Mar 2015 00:48:21 +0000 (18:48 -0600)]
Merge branch 'p-ti-linux-3.14.y-common' into p-ti-linux-3.14.y-android

* p-ti-linux-3.14.y-common: (123 commits)
  ARM: dts: am57xx-beagle-x15: Add regulator information to USB2 PHYs
  ARM: dts: dra72-evm: Add regulator information to USB2 PHYs
  ARM: dts: dra7-evm: Add regulator information to USB2 PHYs
  phy: core: Support regulator supply for PHY power
  ARM: dts: am57xx-beagle-x15: Add pinmux configuration for MMC1 and MMC2
  ARM: dts: dra7-evm: Add pinmux configuration for MMC1 and MMC2
  ARM: dts: DRA7: use the new compatible string added for dra7 and dra72
  ARM: dts: dra7-evm: Keep all VDD rails always-on
  ARM: DRA7-evm: Add missing regulators
  ARM: dts: am43xx-clocks: Fix ehrpwm tbclk data on am43xx
  ARM: dts: am33xx-clocks: Fix ehrpwm tbclk data on am33xx
  hwmon: (tmp102) add hibernation callbacks
  mmc: host: omap_hsmmc: Set appropriate IODELAY values for various MMC modes
  ARM: OMAP2+: hwmod: fix deassert hardreset clkdm usecounting
  Linux 3.14.34
  media/rc: Send sync space information on the lirc device
  net: sctp: fix passing wrong parameter header to param_type2af in sctp_process_param
  ppp: deflate: never return len larger than output buffer
  ipv4: tcp: get rid of ugly unicast_sock
  tcp: ipv4: initialize unicast_sock sk_pacing_rate
  ...

Conflicts:
arch/arm64/include/asm/cputype.h
arch/arm64/kernel/setup.c
fs/pstore/ram.c

Change-Id: I1090a53b448c70c31d922d6432858d23867a621f
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
6 years agoMerge branch 'p-android-3.14' into p-ti-linux-3.14.y-android
Praneeth Bajjuri [Wed, 4 Mar 2015 00:24:43 +0000 (18:24 -0600)]
Merge branch 'p-android-3.14' into p-ti-linux-3.14.y-android

* p-android-3.14: (40 commits)
  mmc: Move tracepoint creation and export symbols
  power: Remove HAS_WAKELOCK config and document WAKELOCK
  android: base-cfg: turn off /dev/mem and /dev/kmem
  input: evdev: fix double free in evdev_release
  xt_qtaguid: use sock_gen_put() instead of xt_socket_put_sk()
  android: base-cfg: enable ARMV8_DEPRECATED and subfeatures
  arm64: kconfig: move emulation option under kernel features
  kbuild: make it possible to specify the module output dir
  arm64: Emulate SETEND for AArch32 tasks
  arm64: Consolidate hotplug notifier for instruction emulation
  arm64: kernel: explicitly add include in armv8_deprecated
  arm64: Track system support for mixed endian EL0
  arm64: Fix up /proc/cpuinfo
  arm64: cpuinfo: record cpu system register values
  arm64: add MIDR_EL1 field accessors
  arm64: fix return code check when changing emulation handler
  arm64: Trace emulation of AArch32 legacy instructions
  arm64: Emulate CP15 Barrier instructions
  arm64: barriers: add dmb barrier
  arm64: Port SWP/SWPB emulation support from arm
  ...

Change-Id: I9184fc5244d2d68763720db4719252537c5f79cf
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
6 years agoMerge branch 'android-3.14' of https://android.googlesource.com/kernel/common into...
Praneeth Bajjuri [Wed, 4 Mar 2015 00:18:24 +0000 (18:18 -0600)]
Merge branch 'android-3.14' of https://android.googlesource.com/kernel/common into p-android-3.14

* 'android-3.14' of https://android.googlesource.com/kernel/common:
  mmc: Move tracepoint creation and export symbols
  power: Remove HAS_WAKELOCK config and document WAKELOCK

Change-Id: Iec776299c7e6f31b3037c49b1ef646cf525e2742
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
6 years agommc: Move tracepoint creation and export symbols
Dylan Reid [Tue, 3 Mar 2015 01:09:07 +0000 (17:09 -0800)]
mmc: Move tracepoint creation and export symbols

Move the tracepoint creation to core from card, as core shouldn't depend
on card.

Also add EXPORT_SYMBOL_GPL calls to enable module build.

Change-Id: Ie39fcdadc0516df99600d0963efe09b6cd7a9bf8
Signed-off-by: Dylan Reid <dgreid@chromium.org>
6 years agopower: Remove HAS_WAKELOCK config and document WAKELOCK
Dylan Reid [Tue, 3 Mar 2015 17:38:28 +0000 (09:38 -0800)]
power: Remove HAS_WAKELOCK config and document WAKELOCK

Remove the HAS_WAKELOCK config as it doesn't seem to have been used in
the 3.10 or 3.14 kernels.

Add some Documentation to CONFIG_WAKELOCK so that it is selectable and
can be disabled is desired.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
6 years agoARM: dts: dra7x-evm: avoid possible contention while muxing on CAN lines
Roger Quadros [Mon, 2 Mar 2015 15:45:57 +0000 (17:45 +0200)]
ARM: dts: dra7x-evm: avoid possible contention while muxing on CAN lines

DCAN1_RX line is internally pulled high and idle state
of DCAN1_TX is high. While muxing between DCAN mode
and SAFE mode we make sure the same pull direction is
set to minimize opposite pull contention during the
switching window.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoMerge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integrat...
Texas Instruments Auto Merger [Tue, 3 Mar 2015 13:21:35 +0000 (07:21 -0600)]
Merge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-3.14.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-3.14.y

* 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  arm: dts: TI bluetooth: switch to 8250_omap serial device
  ti_config_fragments/connectivity.cfg: switch to 8250_omap driver
  tty: serial: 8250: omap: fix kernel crash in suspend-to-ram

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agoarm: dts: TI bluetooth: switch to 8250_omap serial device
Sekhar Nori [Wed, 25 Feb 2015 12:33:47 +0000 (18:03 +0530)]
arm: dts: TI bluetooth: switch to 8250_omap serial device

Switch to 8250_omap driver as underlying serial transport for
TI bluetooth interfaced on TI EVMs.

Tested with Bluetooth on DRA74x EVM. Compile tested on others.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoti_config_fragments/connectivity.cfg: switch to 8250_omap driver
Sekhar Nori [Wed, 25 Feb 2015 12:33:46 +0000 (18:03 +0530)]
ti_config_fragments/connectivity.cfg: switch to 8250_omap driver

Switch to newer 8250_omap driver supporting DMA.

Boot tested on AM335x, AM437x, DRA74x, DRA72x, AM57x EVMs.

Tested wake from DeepSleep on AM437x EVM.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agotty: serial: 8250: omap: fix kernel crash in suspend-to-ram
Sekhar Nori [Thu, 26 Feb 2015 15:48:17 +0000 (21:18 +0530)]
tty: serial: 8250: omap: fix kernel crash in suspend-to-ram

omap_device infrastructure has a suspend_noirq hook which
runtime suspends all devices late in the suspend cycle.

This leads to a NULL pointer exception in 8250_omap driver
since by that time 8250_dma has already suspended and rxchan
is set to NULL.

Make an explicit check to see if rxchan is NULL in
runtime_{suspend|resume} hooks to fix this.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoARM: DRA7-evm: Remove pin mux
Lokesh Vutla [Wed, 25 Feb 2015 12:37:25 +0000 (18:07 +0530)]
ARM: DRA7-evm: Remove pin mux

As part of IODELAY recalibration sequence all the pin mux
configuration needs to be done as part of MLO. So remove pinmux
definitions in DT.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoMerge branch 'android-3.14' of https://android.googlesource.com/kernel/common into...
Praneeth Bajjuri [Tue, 3 Mar 2015 00:21:04 +0000 (18:21 -0600)]
Merge branch 'android-3.14' of https://android.googlesource.com/kernel/common into p-android-3.14

* 'android-3.14' of https://android.googlesource.com/kernel/common:
  android: base-cfg: turn off /dev/mem and /dev/kmem
  input: evdev: fix double free in evdev_release

Change-Id: I46b9f9e702b5b5441ab0137c97d9918ea0939fe6
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
6 years agoMerge branch 'ti-linux-3.14.y' of git://git.ti.com/ti-linux-kernel/ti-linux-kernel...
Praneeth Bajjuri [Mon, 2 Mar 2015 22:28:12 +0000 (16:28 -0600)]
Merge branch 'ti-linux-3.14.y' of git://git.ti.com/ti-linux-kernel/ti-linux-kernel into p-ti-linux-3.14.y-common

* 'ti-linux-3.14.y' of git://git.ti.com/ti-linux-kernel/ti-linux-kernel: (62 commits)
  ARM: dts: am57xx-beagle-x15: Add regulator information to USB2 PHYs
  ARM: dts: dra72-evm: Add regulator information to USB2 PHYs
  ARM: dts: dra7-evm: Add regulator information to USB2 PHYs
  phy: core: Support regulator supply for PHY power
  ARM: dts: am57xx-beagle-x15: Add pinmux configuration for MMC1 and MMC2
  ARM: dts: dra7-evm: Add pinmux configuration for MMC1 and MMC2
  ARM: dts: DRA7: use the new compatible string added for dra7 and dra72
  ARM: dts: dra7-evm: Keep all VDD rails always-on
  ARM: DRA7-evm: Add missing regulators
  ARM: dts: am43xx-clocks: Fix ehrpwm tbclk data on am43xx
  ARM: dts: am33xx-clocks: Fix ehrpwm tbclk data on am33xx
  hwmon: (tmp102) add hibernation callbacks
  mmc: host: omap_hsmmc: Set appropriate IODELAY values for various MMC modes
  ARM: OMAP2+: hwmod: fix deassert hardreset clkdm usecounting
  Linux 3.14.34
  media/rc: Send sync space information on the lirc device
  net: sctp: fix passing wrong parameter header to param_type2af in sctp_process_param
  ppp: deflate: never return len larger than output buffer
  ipv4: tcp: get rid of ugly unicast_sock
  tcp: ipv4: initialize unicast_sock sk_pacing_rate
  ...

Conflicts:
arch/arm/boot/dts/dra7-evm.dts
arch/arm/boot/dts/dra72x.dtsi
arch/arm/boot/dts/dra74x.dtsi

Change-Id: If745d3db2abb2dfdd6641c39165e1c9b3b8e8672
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
6 years agoandroid: base-cfg: turn off /dev/mem and /dev/kmem
Mark Salyzyn [Mon, 2 Mar 2015 17:05:46 +0000 (09:05 -0800)]
android: base-cfg: turn off /dev/mem and /dev/kmem

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 19549480
Change-Id: I20ee725a3098ba8ad59b948f15add3c59ab24adc

6 years agoMerge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integrat...
Dan Murphy [Mon, 2 Mar 2015 14:45:28 +0000 (08:45 -0600)]
Merge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-3.14.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-3.14.y

* 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  ARM: dts: am57xx-beagle-x15: Add regulator information to USB2 PHYs
  ARM: dts: dra72-evm: Add regulator information to USB2 PHYs
  ARM: dts: dra7-evm: Add regulator information to USB2 PHYs
  phy: core: Support regulator supply for PHY power
  ARM: dts: am57xx-beagle-x15: Add pinmux configuration for MMC1 and MMC2
  ARM: dts: dra7-evm: Add pinmux configuration for MMC1 and MMC2
  ARM: dts: DRA7: use the new compatible string added for dra7 and dra72
  mmc: host: omap_hsmmc: Set appropriate IODELAY values for various MMC modes
  input: ti_am335x_tsc: Ignore previous pen down event when pen up event occurs
  ARM: dts: DRA7: add DT entries for PWMSS
  PWM: Kconfig: Enable PWM on DRA7

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoARM: dts: am57xx-beagle-x15: Add regulator information to USB2 PHYs
Roger Quadros [Mon, 2 Mar 2015 12:53:12 +0000 (14:53 +0200)]
ARM: dts: am57xx-beagle-x15: Add regulator information to USB2 PHYs

The ldousb_reg regulator provides power to the USB1 and USB2
High Speed PHYs.

Signed-off-by: Roger Quadros <rogerq@ti.com>
6 years agoARM: dts: dra72-evm: Add regulator information to USB2 PHYs
Roger Quadros [Mon, 2 Mar 2015 12:53:11 +0000 (14:53 +0200)]
ARM: dts: dra72-evm: Add regulator information to USB2 PHYs

[ upstream commit 7a15c8e74737283e9c195742074812aeaea08eaa ]

The ldo4_reg regulator provides power to the USB1 and USB2
High Speed PHYs.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Conflicts:
arch/arm/boot/dts/dra72-evm.dts

6 years agoARM: dts: dra7-evm: Add regulator information to USB2 PHYs
Roger Quadros [Mon, 2 Mar 2015 12:53:10 +0000 (14:53 +0200)]
ARM: dts: dra7-evm: Add regulator information to USB2 PHYs

[ upstream commit ae28ea88a38decac2a0dc1abc23936e59a08b6f3 ]

The ldousb_reg regulator provides power to the USB1 and USB2
High Speed PHYs.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Conflicts:
arch/arm/boot/dts/dra7-evm.dts

6 years agophy: core: Support regulator supply for PHY power
Roger Quadros [Mon, 2 Mar 2015 12:53:09 +0000 (14:53 +0200)]
phy: core: Support regulator supply for PHY power

[ upstream commit 3be88125d85df587085b0be0a5c0e9953eb5ed6b ]

Some PHYs can be powered by an external power regulator.
e.g. USB_HS PHY on DRA7 SoC. Make the PHY core support a
power regulator.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
6 years agoARM: dts: am57xx-beagle-x15: Add pinmux configuration for MMC1 and MMC2
Kishon Vijay Abraham I [Mon, 2 Feb 2015 08:43:16 +0000 (14:13 +0530)]
ARM: dts: am57xx-beagle-x15: Add pinmux configuration for MMC1 and MMC2

Added pinmux configuration for MMC1 and MMC2 including the IODELAY values
suggested in the data manual for the various modes. (Current revision
of DRA7 supports only HS mode for both MMC1 and MMC2).

Reference: DRA75x TRM revision W (18.6.2 IODELAYCONFIG Registers)
DRA75x Data Manual Revision M (Table 7-116. Virtual Functions Mapping
for MMC1 - Column MMC1_VIRTUAL1; Table 7-127. Manual Functions Mapping for
MMC2 HS - Column MMC_HS_DS_LB_MANUAL1).

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
6 years agoARM: dts: dra7-evm: Add pinmux configuration for MMC1 and MMC2
Kishon Vijay Abraham I [Sat, 31 Jan 2015 15:06:56 +0000 (20:36 +0530)]
ARM: dts: dra7-evm: Add pinmux configuration for MMC1 and MMC2

Added pinmux configuration for MMC1 and MMC2 including the IODELAY values
suggested in the data manual for the various modes. (Current revision
of DRA7 supports only HS mode for both MMC1 and MMC2).

Reference: DRA75x TRM revision W (18.6.2 IODELAYCONFIG Registers)
DRA75x Data Manual Revision M (Table 7-116. Virtual Functions Mapping
for MMC1 - Column MMC1_VIRTUAL1; Table 7-127. Manual Functions Mapping for
MMC2 HS - Column MMC_HS_DS_LB_MANUAL1).

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
6 years agoARM: dts: DRA7: use the new compatible string added for dra7 and dra72
Kishon Vijay Abraham I [Thu, 26 Feb 2015 11:13:16 +0000 (16:43 +0530)]
ARM: dts: DRA7: use the new compatible string added for dra7 and dra72

Used the new compatible string "ti,dra7-hsmmc" that was specifically
added for dra7 and dra72. This is required since for dra7 and dra72
processors iodelay values has to be set unlike other processors.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
6 years agoMerge branch 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel...
Texas Instruments Auto Merger [Mon, 2 Mar 2015 05:20:22 +0000 (23:20 -0600)]
Merge branch 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-3.14.y

TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-3.14.y

* 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
  ARM: dts: dra7-evm: Keep all VDD rails always-on
  ARM: DRA7-evm: Add missing regulators

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agoARM: dts: dra7-evm: Keep all VDD rails always-on
Nishanth Menon [Fri, 27 Feb 2015 05:32:56 +0000 (11:02 +0530)]
ARM: dts: dra7-evm: Keep all VDD rails always-on

[ upstream commit 395b23ca57b46e79d7956ce1d5a9381dc6fe0e3a ]

DRA7 Data Manual (SPRS857L - August 2014) section 4.1.1 states: "All
unused power supply balls must be supplied with the voltages specified
in the Section 5.2, Recommended Operating Conditions".

This implies that all unused voltage rails for Vayu can never be
switched off even if the hardware blocks inside that voltage domain is
unused. Switching off these unused rails may result in stability issues
on other domains and increased leakage and power-on-hour impacts.

J6eco-evm dts file already considers this, however j6evm-dts file needs
to be fixed to consider this constraint of the SoC.

Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoARM: DRA7-evm: Add missing regulators
Nishanth Menon [Mon, 2 Mar 2015 04:46:15 +0000 (10:16 +0530)]
ARM: DRA7-evm: Add missing regulators

Few regulators information were missing from DT. Add those
missing regulators.

Note that this might cause probe order to change and potentially
root device such as mmcblk0 might change it's order.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoinput: evdev: fix double free in evdev_release
David Riley [Fri, 27 Feb 2015 19:35:25 +0000 (11:35 -0800)]
input: evdev: fix double free in evdev_release

Double free introduced in porting Android 3.10 changes to 3.14.

Signed-off-by: David Riley <davidriley@google.com>
6 years agoMerge branch 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel...
Texas Instruments Auto Merger [Fri, 27 Feb 2015 15:20:35 +0000 (09:20 -0600)]
Merge branch 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-3.14.y

TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-3.14.y

* 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
  ARM: dts: am43xx-clocks: Fix ehrpwm tbclk data on am43xx
  ARM: dts: am33xx-clocks: Fix ehrpwm tbclk data on am33xx

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agoARM: dts: am43xx-clocks: Fix ehrpwm tbclk data on am43xx
Vignesh R [Tue, 10 Feb 2015 05:35:42 +0000 (11:05 +0530)]
ARM: dts: am43xx-clocks: Fix ehrpwm tbclk data on am43xx

ehrpwm tbclk is wrongly modelled as deriving from dpll_per_m2_ck.
The TRM says tbclk is derived from SYSCLKOUT. SYSCLKOUT nothing but the
functional clock of pwmss (l4ls_gclk).
Fix this by changing source of ehrpwmx_tbclk to l4ls_gclk.

Fixes: 4da1c67719f61 ("add tbclk data for ehrpwm")
Signed-off-by: Vignesh R <vigneshr@ti.com>
6 years agoARM: dts: am33xx-clocks: Fix ehrpwm tbclk data on am33xx
Vignesh R [Tue, 10 Feb 2015 05:35:41 +0000 (11:05 +0530)]
ARM: dts: am33xx-clocks: Fix ehrpwm tbclk data on am33xx

ehrpwm tbclk is wrongly modelled as deriving from dpll_per_m2_ck.
The TRM says tbclk is derived from SYSCLKOUT. SYSCLKOUT nothing but the
functional clock of pwmss (l4ls_gclk).
Fix this by changing source of ehrpwmx_tbclk to l4ls_gclk.

Fixes: 9e100ebafb91: ("Fix ehrpwm tbclk data")
Signed-off-by: Vignesh R <vigneshr@ti.com>
6 years agoMerge branch 'pm-ti-linux-3.14.y' of git://git.ti.com/~kristo/ti-linux-kernel/pm...
Texas Instruments Auto Merger [Fri, 27 Feb 2015 10:20:44 +0000 (04:20 -0600)]
Merge branch 'pm-ti-linux-3.14.y' of git://git.ti.com/~kristo/ti-linux-kernel/pm-linux-feature-tree into ti-linux-3.14.y

TI-Feature: power_management_base
TI-Tree: git://git.ti.com/~kristo/ti-linux-kernel/pm-linux-feature-tree.git
TI-Branch: pm-ti-linux-3.14.y

* 'pm-ti-linux-3.14.y' of git://git.ti.com/~kristo/ti-linux-kernel/pm-linux-feature-tree:
  hwmon: (tmp102) add hibernation callbacks

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agohwmon: (tmp102) add hibernation callbacks
Grygorii Strashko [Tue, 3 Feb 2015 15:01:58 +0000 (17:01 +0200)]
hwmon: (tmp102) add hibernation callbacks

[ Upstream commit dd378b1bcaa0ef5b14cca1e52b58ef9a3279fd8b ]

Setting a dev_pm_ops suspend/resume pair but not a set of
hibernation functions means those pm functions will not be
called upon hibernation.
Fix this by using SIMPLE_DEV_PM_OPS, which appropriately
assigns the suspend and hibernation handlers and move
mp102_suspend/tmp102_resume under CONFIG_PM_SLEEP to avoid
build warnings.

Signed-off-by: Grygorii Strashko <Grygorii.Strashko@linaro.org>
[groeck: Declare tmp102_dev_pm_ops as static variable]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
6 years agommc: host: omap_hsmmc: Set appropriate IODELAY values for various MMC modes
Kishon Vijay Abraham I [Sat, 31 Jan 2015 14:44:55 +0000 (20:14 +0530)]
mmc: host: omap_hsmmc: Set appropriate IODELAY values for various MMC modes

The data manual of J6/J6 Eco recommends to set different IODELAY values
depending on the mode in which the MMC/SD is enumerated in order to
ensure IO timings are met.

Added support to set the IODELAY values depending on the various MMC
modes using the pinctrl APIs.

The platforms that require IODELAY values to be set should add
"ti,require_iodelay" property in its dt data.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
6 years agoMerge branch 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel...
Texas Instruments Auto Merger [Fri, 27 Feb 2015 06:22:14 +0000 (00:22 -0600)]
Merge branch 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-3.14.y

TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-3.14.y

* 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
  ARM: OMAP2+: hwmod: fix deassert hardreset clkdm usecounting

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agoARM: OMAP2+: hwmod: fix deassert hardreset clkdm usecounting
Tero Kristo [Thu, 26 Feb 2015 15:22:42 +0000 (17:22 +0200)]
ARM: OMAP2+: hwmod: fix deassert hardreset clkdm usecounting

Deasserting hardreset increases the usecount for the hwmod parent clockdomain
always, however usecount is only decreased at end in certain error cases.
This causes clockdomains to remain always on, preventing idle. Fixed by
always releasing the hwmods clockdomain parent when exiting the function.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Tested-by: Carlos Hernandez <ceh@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoMerge tag 'v3.14.34' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux...
Texas Instruments Auto Merger [Fri, 27 Feb 2015 02:12:38 +0000 (20:12 -0600)]
Merge tag 'v3.14.34' of git./linux/kernel/git/stable/linux-stable into ti-linux-3.14.y

This is the 3.14.34 stable release

* tag 'v3.14.34' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable:
  Linux 3.14.34
  media/rc: Send sync space information on the lirc device
  net: sctp: fix passing wrong parameter header to param_type2af in sctp_process_param
  ppp: deflate: never return len larger than output buffer
  ipv4: tcp: get rid of ugly unicast_sock
  tcp: ipv4: initialize unicast_sock sk_pacing_rate
  bridge: dont send notification when skb->len == 0 in rtnl_bridge_notify
  net: don't OOPS on socket aio
  bnx2x: fix napi poll return value for repoll
  ipv6: replacing a rt6_info needs to purge possible propagated rt6_infos too
  ping: Fix race in free in receive path
  udp_diag: Fix socket skipping within chain
  ipv4: try to cache dst_entries which would cause a redirect
  net: sctp: fix slab corruption from use after free on INIT collisions
  netxen: fix netxen_nic_poll() logic
  ipv6: stop sending PTB packets for MTU < 1280
  net: rps: fix cpu unplug
  ip: zero sockaddr returned on error queue

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agoLinux 3.14.34
Greg Kroah-Hartman [Fri, 27 Feb 2015 01:50:27 +0000 (17:50 -0800)]
Linux 3.14.34

6 years agomedia/rc: Send sync space information on the lirc device
Austin Lund [Thu, 24 Jul 2014 10:40:20 +0000 (07:40 -0300)]
media/rc: Send sync space information on the lirc device

commit a8f29e89f2b54fbf2c52be341f149bc195b63a8b upstream.

Userspace expects to see a long space before the first pulse is sent on
the lirc device.  Currently, if a long time has passed and a new packet
is started, the lirc codec just returns and doesn't send anything.  This
makes lircd ignore many perfectly valid signals unless they are sent in
quick sucession.  When a reset event is delivered, we cannot know
anything about the duration of the space.  But it should be safe to
assume it has been a long time and we just set the duration to maximum.

Signed-off-by: Austin Lund <austin.lund@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agonet: sctp: fix passing wrong parameter header to param_type2af in sctp_process_param
Saran Maruti Ramanara [Thu, 29 Jan 2015 10:05:58 +0000 (11:05 +0100)]
net: sctp: fix passing wrong parameter header to param_type2af in sctp_process_param

[ Upstream commit cfbf654efc6d78dc9812e030673b86f235bf677d ]

When making use of RFC5061, section 4.2.4. for setting the primary IP
address, we're passing a wrong parameter header to param_type2af(),
resulting always in NULL being returned.

At this point, param.p points to a sctp_addip_param struct, containing
a sctp_paramhdr (type = 0xc004, length = var), and crr_id as a correlation
id. Followed by that, as also presented in RFC5061 section 4.2.4., comes
the actual sctp_addr_param, which also contains a sctp_paramhdr, but
this time with the correct type SCTP_PARAM_IPV{4,6}_ADDRESS that
param_type2af() can make use of. Since we already hold a pointer to
addr_param from previous line, just reuse it for param_type2af().

Fixes: d6de3097592b ("[SCTP]: Add the handling of "Set Primary IP Address" parameter to INIT")
Signed-off-by: Saran Maruti Ramanara <saran.neti@telus.com>
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoppp: deflate: never return len larger than output buffer
Florian Westphal [Wed, 28 Jan 2015 09:56:04 +0000 (10:56 +0100)]
ppp: deflate: never return len larger than output buffer

[ Upstream commit e2a4800e75780ccf4e6c2487f82b688ba736eb18 ]

When we've run out of space in the output buffer to store more data, we
will call zlib_deflate with a NULL output buffer until we've consumed
remaining input.

When this happens, olen contains the size the output buffer would have
consumed iff we'd have had enough room.

This can later cause skb_over_panic when ppp_generic skb_put()s
the returned length.

Reported-by: Iain Douglas <centos@1n6.org.uk>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoipv4: tcp: get rid of ugly unicast_sock
Eric Dumazet [Fri, 30 Jan 2015 05:35:05 +0000 (21:35 -0800)]
ipv4: tcp: get rid of ugly unicast_sock

[ Upstream commit bdbbb8527b6f6a358dbcb70dac247034d665b8e4 ]

In commit be9f4a44e7d41 ("ipv4: tcp: remove per net tcp_sock")
I tried to address contention on a socket lock, but the solution
I chose was horrible :

commit 3a7c384ffd57e ("ipv4: tcp: unicast_sock should not land outside
of TCP stack") addressed a selinux regression.

commit 0980e56e506b ("ipv4: tcp: set unicast_sock uc_ttl to -1")
took care of another regression.

commit b5ec8eeac46 ("ipv4: fix ip_send_skb()") fixed another regression.

commit 811230cd85 ("tcp: ipv4: initialize unicast_sock sk_pacing_rate")
was another shot in the dark.

Really, just use a proper socket per cpu, and remove the skb_orphan()
call, to re-enable flow control.

This solves a serious problem with FQ packet scheduler when used in
hostile environments, as we do not want to allocate a flow structure
for every RST packet sent in response to a spoofed packet.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agotcp: ipv4: initialize unicast_sock sk_pacing_rate
Eric Dumazet [Wed, 28 Jan 2015 13:47:11 +0000 (05:47 -0800)]
tcp: ipv4: initialize unicast_sock sk_pacing_rate

[ Upstream commit 811230cd853d62f09ed0addd0ce9a1b9b0e13fb5 ]

When I added sk_pacing_rate field, I forgot to initialize its value
in the per cpu unicast_sock used in ip_send_unicast_reply()

This means that for sch_fq users, RST packets, or ACK packets sent
on behalf of TIME_WAIT sockets might be sent to slowly or even dropped
once we reach the per flow limit.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Fixes: 95bd09eb2750 ("tcp: TSO packets automatic sizing")
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agobridge: dont send notification when skb->len == 0 in rtnl_bridge_notify
Roopa Prabhu [Thu, 29 Jan 2015 00:23:11 +0000 (16:23 -0800)]
bridge: dont send notification when skb->len == 0 in rtnl_bridge_notify

[ Upstream commit 59ccaaaa49b5b096cdc1f16706a9f931416b2332 ]

Reported in: https://bugzilla.kernel.org/show_bug.cgi?id=92081

This patch avoids calling rtnl_notify if the device ndo_bridge_getlink
handler does not return any bytes in the skb.

Alternately, the skb->len check can be moved inside rtnl_notify.

For the bridge vlan case described in 92081, there is also a fix needed
in bridge driver to generate a proper notification. Will fix that in
subsequent patch.

v2: rebase patch on net tree

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agonet: don't OOPS on socket aio
Christoph Hellwig [Tue, 27 Jan 2015 20:25:33 +0000 (12:25 -0800)]
net: don't OOPS on socket aio

[ Upstream commit 06539d3071067ff146a9bffd1c801fa56d290909 ]

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agobnx2x: fix napi poll return value for repoll
Govindarajulu Varadarajan [Sun, 25 Jan 2015 10:39:23 +0000 (16:09 +0530)]
bnx2x: fix napi poll return value for repoll

[ Upstream commit 24e579c8898aa641ede3149234906982290934e5 ]

With the commit d75b1ade567ffab ("net: less interrupt masking in NAPI") napi
repoll is done only when work_done == budget. When in busy_poll is we return 0
in napi_poll. We should return budget.

Signed-off-by: Govindarajulu Varadarajan <_govind@gmx.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoipv6: replacing a rt6_info needs to purge possible propagated rt6_infos too
Hannes Frederic Sowa [Mon, 26 Jan 2015 14:11:17 +0000 (15:11 +0100)]
ipv6: replacing a rt6_info needs to purge possible propagated rt6_infos too

[ Upstream commit 6e9e16e6143b725662e47026a1d0f270721cdd24 ]

Lubomir Rintel reported that during replacing a route the interface
reference counter isn't correctly decremented.

To quote bug <https://bugzilla.kernel.org/show_bug.cgi?id=91941>:
| [root@rhel7-5 lkundrak]# sh -x lal
| + ip link add dev0 type dummy
| + ip link set dev0 up
| + ip link add dev1 type dummy
| + ip link set dev1 up
| + ip addr add 2001:db8:8086::2/64 dev dev0
| + ip route add 2001:db8:8086::/48 dev dev0 proto static metric 20
| + ip route add 2001:db8:8088::/48 dev dev1 proto static metric 10
| + ip route replace 2001:db8:8086::/48 dev dev1 proto static metric 20
| + ip link del dev0 type dummy
| Message from syslogd@rhel7-5 at Jan 23 10:54:41 ...
|  kernel:unregister_netdevice: waiting for dev0 to become free. Usage count = 2
|
| Message from syslogd@rhel7-5 at Jan 23 10:54:51 ...
|  kernel:unregister_netdevice: waiting for dev0 to become free. Usage count = 2

During replacement of a rt6_info we must walk all parent nodes and check
if the to be replaced rt6_info got propagated. If so, replace it with
an alive one.

Fixes: 4a287eba2de3957 ("IPv6 routing, NLM_F_* flag support: REPLACE and EXCL flags support, warn about missing CREATE flag")
Reported-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Tested-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoping: Fix race in free in receive path
subashab@codeaurora.org [Fri, 23 Jan 2015 22:26:02 +0000 (22:26 +0000)]
ping: Fix race in free in receive path

[ Upstream commit fc752f1f43c1c038a2c6ae58cc739ebb5953ccb0 ]

An exception is seen in ICMP ping receive path where the skb
destructor sock_rfree() tries to access a freed socket. This happens
because ping_rcv() releases socket reference with sock_put() and this
internally frees up the socket. Later icmp_rcv() will try to free the
skb and as part of this, skb destructor is called and which leads
to a kernel panic as the socket is freed already in ping_rcv().

-->|exception
-007|sk_mem_uncharge
-007|sock_rfree
-008|skb_release_head_state
-009|skb_release_all
-009|__kfree_skb
-010|kfree_skb
-011|icmp_rcv
-012|ip_local_deliver_finish

Fix this incorrect free by cloning this skb and processing this cloned
skb instead.

This patch was suggested by Eric Dumazet

Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoudp_diag: Fix socket skipping within chain
Herbert Xu [Fri, 23 Jan 2015 21:02:40 +0000 (08:02 +1100)]
udp_diag: Fix socket skipping within chain

[ Upstream commit 86f3cddbc3037882414c7308973530167906b7e9 ]

While working on rhashtable walking I noticed that the UDP diag
dumping code is buggy.  In particular, the socket skipping within
a chain never happens, even though we record the number of sockets
that should be skipped.

As this code was supposedly copied from TCP, this patch does what
TCP does and resets num before we walk a chain.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoipv4: try to cache dst_entries which would cause a redirect
Hannes Frederic Sowa [Fri, 23 Jan 2015 11:01:26 +0000 (12:01 +0100)]
ipv4: try to cache dst_entries which would cause a redirect

[ Upstream commit df4d92549f23e1c037e83323aff58a21b3de7fe0 ]

Not caching dst_entries which cause redirects could be exploited by hosts
on the same subnet, causing a severe DoS attack. This effect aggravated
since commit f88649721268999 ("ipv4: fix dst race in sk_dst_get()").

Lookups causing redirects will be allocated with DST_NOCACHE set which
will force dst_release to free them via RCU.  Unfortunately waiting for
RCU grace period just takes too long, we can end up with >1M dst_entries
waiting to be released and the system will run OOM. rcuos threads cannot
catch up under high softirq load.

Attaching the flag to emit a redirect later on to the specific skb allows
us to cache those dst_entries thus reducing the pressure on allocation
and deallocation.

This issue was discovered by Marcelo Leitner.

Cc: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Marcelo Leitner <mleitner@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agonet: sctp: fix slab corruption from use after free on INIT collisions
Daniel Borkmann [Thu, 22 Jan 2015 17:26:54 +0000 (18:26 +0100)]
net: sctp: fix slab corruption from use after free on INIT collisions

[ Upstream commit 600ddd6825543962fb807884169e57b580dba208 ]

When hitting an INIT collision case during the 4WHS with AUTH enabled, as
already described in detail in commit 1be9a950c646 ("net: sctp: inherit
auth_capable on INIT collisions"), it can happen that we occasionally
still remotely trigger the following panic on server side which seems to
have been uncovered after the fix from commit 1be9a950c646 ...

[  533.876389] BUG: unable to handle kernel paging request at 00000000ffffffff
[  533.913657] IP: [<ffffffff811ac385>] __kmalloc+0x95/0x230
[  533.940559] PGD 5030f2067 PUD 0
[  533.957104] Oops: 0000 [#1] SMP
[  533.974283] Modules linked in: sctp mlx4_en [...]
[  534.939704] Call Trace:
[  534.951833]  [<ffffffff81294e30>] ? crypto_init_shash_ops+0x60/0xf0
[  534.984213]  [<ffffffff81294e30>] crypto_init_shash_ops+0x60/0xf0
[  535.015025]  [<ffffffff8128c8ed>] __crypto_alloc_tfm+0x6d/0x170
[  535.045661]  [<ffffffff8128d12c>] crypto_alloc_base+0x4c/0xb0
[  535.074593]  [<ffffffff8160bd42>] ? _raw_spin_lock_bh+0x12/0x50
[  535.105239]  [<ffffffffa0418c11>] sctp_inet_listen+0x161/0x1e0 [sctp]
[  535.138606]  [<ffffffff814e43bd>] SyS_listen+0x9d/0xb0
[  535.166848]  [<ffffffff816149a9>] system_call_fastpath+0x16/0x1b

... or depending on the the application, for example this one:

[ 1370.026490] BUG: unable to handle kernel paging request at 00000000ffffffff
[ 1370.026506] IP: [<ffffffff811ab455>] kmem_cache_alloc+0x75/0x1d0
[ 1370.054568] PGD 633c94067 PUD 0
[ 1370.070446] Oops: 0000 [#1] SMP
[ 1370.085010] Modules linked in: sctp kvm_amd kvm [...]
[ 1370.963431] Call Trace:
[ 1370.974632]  [<ffffffff8120f7cf>] ? SyS_epoll_ctl+0x53f/0x960
[ 1371.000863]  [<ffffffff8120f7cf>] SyS_epoll_ctl+0x53f/0x960
[ 1371.027154]  [<ffffffff812100d3>] ? anon_inode_getfile+0xd3/0x170
[ 1371.054679]  [<ffffffff811e3d67>] ? __alloc_fd+0xa7/0x130
[ 1371.080183]  [<ffffffff816149a9>] system_call_fastpath+0x16/0x1b

With slab debugging enabled, we can see that the poison has been overwritten:

[  669.826368] BUG kmalloc-128 (Tainted: G        W     ): Poison overwritten
[  669.826385] INFO: 0xffff880228b32e50-0xffff880228b32e50. First byte 0x6a instead of 0x6b
[  669.826414] INFO: Allocated in sctp_auth_create_key+0x23/0x50 [sctp] age=3 cpu=0 pid=18494
[  669.826424]  __slab_alloc+0x4bf/0x566
[  669.826433]  __kmalloc+0x280/0x310
[  669.826453]  sctp_auth_create_key+0x23/0x50 [sctp]
[  669.826471]  sctp_auth_asoc_create_secret+0xcb/0x1e0 [sctp]
[  669.826488]  sctp_auth_asoc_init_active_key+0x68/0xa0 [sctp]
[  669.826505]  sctp_do_sm+0x29d/0x17c0 [sctp] [...]
[  669.826629] INFO: Freed in kzfree+0x31/0x40 age=1 cpu=0 pid=18494
[  669.826635]  __slab_free+0x39/0x2a8
[  669.826643]  kfree+0x1d6/0x230
[  669.826650]  kzfree+0x31/0x40
[  669.826666]  sctp_auth_key_put+0x19/0x20 [sctp]
[  669.826681]  sctp_assoc_update+0x1ee/0x2d0 [sctp]
[  669.826695]  sctp_do_sm+0x674/0x17c0 [sctp]

Since this only triggers in some collision-cases with AUTH, the problem at
heart is that sctp_auth_key_put() on asoc->asoc_shared_key is called twice
when having refcnt 1, once directly in sctp_assoc_update() and yet again
from within sctp_auth_asoc_init_active_key() via sctp_assoc_update() on
the already kzfree'd memory, which is also consistent with the observation
of the poison decrease from 0x6b to 0x6a (note: the overwrite is detected
at a later point in time when poison is checked on new allocation).

Reference counting of auth keys revisited:

Shared keys for AUTH chunks are being stored in endpoints and associations
in endpoint_shared_keys list. On endpoint creation, a null key is being
added; on association creation, all endpoint shared keys are being cached
and thus cloned over to the association. struct sctp_shared_key only holds
a pointer to the actual key bytes, that is, struct sctp_auth_bytes which
keeps track of users internally through refcounting. Naturally, on assoc
or enpoint destruction, sctp_shared_key are being destroyed directly and
the reference on sctp_auth_bytes dropped.

User space can add keys to either list via setsockopt(2) through struct
sctp_authkey and by passing that to sctp_auth_set_key() which replaces or
adds a new auth key. There, sctp_auth_create_key() creates a new sctp_auth_bytes
with refcount 1 and in case of replacement drops the reference on the old
sctp_auth_bytes. A key can be set active from user space through setsockopt()
on the id via sctp_auth_set_active_key(), which iterates through either
endpoint_shared_keys and in case of an assoc, invokes (one of various places)
sctp_auth_asoc_init_active_key().

sctp_auth_asoc_init_active_key() computes the actual secret from local's
and peer's random, hmac and shared key parameters and returns a new key
directly as sctp_auth_bytes, that is asoc->asoc_shared_key, plus drops
the reference if there was a previous one. The secret, which where we
eventually double drop the ref comes from sctp_auth_asoc_set_secret() with
intitial refcount of 1, which also stays unchanged eventually in
sctp_assoc_update(). This key is later being used for crypto layer to
set the key for the hash in crypto_hash_setkey() from sctp_auth_calculate_hmac().

To close the loop: asoc->asoc_shared_key is freshly allocated secret
material and independant of the sctp_shared_key management keeping track
of only shared keys in endpoints and assocs. Hence, also commit 4184b2a79a76
("net: sctp: fix memory leak in auth key management") is independant of
this bug here since it concerns a different layer (though same structures
being used eventually). asoc->asoc_shared_key is reference dropped correctly
on assoc destruction in sctp_association_free() and when active keys are
being replaced in sctp_auth_asoc_init_active_key(), it always has a refcount
of 1. Hence, it's freed prematurely in sctp_assoc_update(). Simple fix is
to remove that sctp_auth_key_put() from there which fixes these panics.

Fixes: 730fc3d05cd4 ("[SCTP]: Implete SCTP-AUTH parameter processing")
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agonetxen: fix netxen_nic_poll() logic
Eric Dumazet [Thu, 22 Jan 2015 15:56:18 +0000 (07:56 -0800)]
netxen: fix netxen_nic_poll() logic

[ Upstream commit 6088beef3f7517717bd21d90b379714dd0837079 ]

NAPI poll logic now enforces that a poller returns exactly the budget
when it wants to be called again.

If a driver limits TX completion, it has to return budget as well when
the limit is hit, not the number of received packets.

Reported-and-tested-by: Mike Galbraith <umgwanakikbuti@gmail.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Fixes: d75b1ade567f ("net: less interrupt masking in NAPI")
Cc: Manish Chopra <manish.chopra@qlogic.com>
Acked-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoipv6: stop sending PTB packets for MTU < 1280
Hagen Paul Pfeifer [Thu, 15 Jan 2015 21:34:25 +0000 (22:34 +0100)]
ipv6: stop sending PTB packets for MTU < 1280

[ Upstream commit 9d289715eb5c252ae15bd547cb252ca547a3c4f2 ]

Reduce the attack vector and stop generating IPv6 Fragment Header for
paths with an MTU smaller than the minimum required IPv6 MTU
size (1280 byte) - called atomic fragments.

See IETF I-D "Deprecating the Generation of IPv6 Atomic Fragments" [1]
for more information and how this "feature" can be misused.

[1] https://tools.ietf.org/html/draft-ietf-6man-deprecate-atomfrag-generation-00

Signed-off-by: Fernando Gont <fgont@si6networks.com>
Signed-off-by: Hagen Paul Pfeifer <hagen@jauu.net>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agonet: rps: fix cpu unplug
Eric Dumazet [Fri, 16 Jan 2015 01:04:22 +0000 (17:04 -0800)]
net: rps: fix cpu unplug

[ Upstream commit ac64da0b83d82abe62f78b3d0e21cca31aea24fa ]

softnet_data.input_pkt_queue is protected by a spinlock that
we must hold when transferring packets from victim queue to an active
one. This is because other cpus could still be trying to enqueue packets
into victim queue.

A second problem is that when we transfert the NAPI poll_list from
victim to current cpu, we absolutely need to special case the percpu
backlog, because we do not want to add complex locking to protect
process_queue : Only owner cpu is allowed to manipulate it, unless cpu
is offline.

Based on initial patch from Prasad Sodagudi & Subash Abhinov
Kasiviswanathan.

This version is better because we do not slow down packet processing,
only make migration safer.

Reported-by: Prasad Sodagudi <psodagud@codeaurora.org>
Reported-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoip: zero sockaddr returned on error queue
Willem de Bruijn [Thu, 15 Jan 2015 18:18:40 +0000 (13:18 -0500)]
ip: zero sockaddr returned on error queue

[ Upstream commit f812116b174e59a350acc8e4856213a166a91222 ]

The sockaddr is returned in IP(V6)_RECVERR as part of errhdr. That
structure is defined and allocated on the stack as

    struct {
            struct sock_extended_err ee;
            struct sockaddr_in(6)    offender;
    } errhdr;

The second part is only initialized for certain SO_EE_ORIGIN values.
Always initialize it completely.

An MTU exceeded error on a SOCK_RAW/IPPROTO_RAW is one example that
would return uninitialized bytes.

Signed-off-by: Willem de Bruijn <willemb@google.com>
----

Also verified that there is no padding between errhdr.ee and
errhdr.offender that could leak additional kernel data.
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoinput: ti_am335x_tsc: Ignore previous pen down event when pen up event occurs
Franklin S Cooper Jr [Thu, 26 Feb 2015 14:53:56 +0000 (08:53 -0600)]
input: ti_am335x_tsc: Ignore previous pen down event when pen up event occurs

Frequently when a pen up event occurs the sampling for the previous pen down
event ends up being incomplete. From a userspace perspective you will see an
abnormal jump when comparing the pen down events to the one right before the
pen up event.

To avoid this issue delay sending a pen down event until the next touch
event has occurred. If the current touch event is not a pen up event then
send the previously detected pen down values. If the current touch event is
a pen up then simply ignore the previous pen down value.

Signed-off-by: Franklin S Cooper Jr. <fcooper@ti.com>
Acked-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoMerge branch 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel...
Dan Murphy [Thu, 26 Feb 2015 15:25:57 +0000 (09:25 -0600)]
Merge branch 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-3.14.y

TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-3.14.y

* 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
  ARM: OMAP: DRA7xx: Add clocks for PWMSS
  ARM: OMAP2+: DRA7xx: add hwmod entries for PWMSS

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoARM: dts: DRA7: add DT entries for PWMSS
Vignesh R [Thu, 26 Feb 2015 08:40:42 +0000 (14:10 +0530)]
ARM: dts: DRA7: add DT entries for PWMSS

This patch adds DT entries for PWMSS.
ehrpwm1 is used to control LCD backlight on AM57x EVM.
So enable ehrpwm1 in the board dts file.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoMerge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integrat...
Texas Instruments Auto Merger [Thu, 26 Feb 2015 09:30:12 +0000 (03:30 -0600)]
Merge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-3.14.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-3.14.y

* 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  ARM: dts: dra7-evm: disable gpmc/nand

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agoPWM: Kconfig: Enable PWM on DRA7
Vignesh R [Thu, 26 Feb 2015 08:40:41 +0000 (14:10 +0530)]
PWM: Kconfig: Enable PWM on DRA7

TIPWMSS is present on TI's DRA7x SoC.
Enable its usage.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoMerge remote-tracking branch 'ti-linux/ti-linux-3.14.y' into connectivity-ti-linux...
Sekhar Nori [Thu, 26 Feb 2015 09:19:07 +0000 (14:49 +0530)]
Merge remote-tracking branch 'ti-linux/ti-linux-3.14.y' into connectivity-ti-linux-3.14.y

6 years agoARM: OMAP: DRA7xx: Add clocks for PWMSS
Vignesh R [Thu, 26 Feb 2015 08:40:40 +0000 (14:10 +0530)]
ARM: OMAP: DRA7xx: Add clocks for PWMSS

PWMSS does not seem to support smart idle mode when clockdomain
"l4per2_clkdm" is in HW_AUTO. Hence, configuring l4per2_clkdm to
SW_WKUP.

EHRPWM has a TBCLK which is enabled by writing into CTRL_CORE_IO_2. This
clock is derived from the same clock that drives PWMSS. Hence adding
ehrpwmx_tbclk nodes.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoARM: OMAP2+: DRA7xx: add hwmod entries for PWMSS
Vignesh R [Thu, 26 Feb 2015 08:50:38 +0000 (14:20 +0530)]
ARM: OMAP2+: DRA7xx: add hwmod entries for PWMSS

This patch adds hwmod entries for PWMSS on DRA7.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoARM: dts: dra7-evm: disable gpmc/nand
Sekhar Nori [Wed, 25 Feb 2015 15:47:21 +0000 (21:17 +0530)]
ARM: dts: dra7-evm: disable gpmc/nand

On DRA7-evm, GPMC/NAND is muxed with VOUT3. VOUT3 is preferred from
usecase point of view, and the MLO has the pins muxed such that
VOUT3 is used.

Having NAND enabled without pins configured causes an ugly delay
at boot trying to reset the device. Keep NAND disabled by default.

Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoMerge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integrat...
Texas Instruments Auto Merger [Wed, 25 Feb 2015 15:21:03 +0000 (09:21 -0600)]
Merge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-3.14.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-3.14.y

* 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  ARM: DRA7: hwmod_data: Fix hwmod data for pcie
  ARM: dts: dra7: remove ti,hwmod property from pcie phy
  mtd: nand: Prevent possible kernel lockup in nand_command()

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agoARM: DRA7: hwmod_data: Fix hwmod data for pcie
Kishon Vijay Abraham I [Fri, 20 Feb 2015 08:45:56 +0000 (14:15 +0530)]
ARM: DRA7: hwmod_data: Fix hwmod data for pcie

Fixed hwmod data for pcie by having the correct module mode offset.
Previously this module mode offset was part of pcie PHY which was wrong.
Now this module mode offset was moved to pcie hwmod and removed the hwmod data
for pcie phy. While at that renamed pcie_hwmod to pciess_hwmod in order
to match with the name given in TRM.

This helps to get rid of the following warning
"omap_hwmod: pcie1: _wait_target_disable failed"

[Grygorii.Strashko@linaro.org: Found the issue that actually caused
 "omap_hwmod: pcie1: _wait_target_disable failed"]
Signed-off-by: Grygorii Strashko <Grygorii.Strashko@linaro.org>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoARM: dts: dra7: remove ti,hwmod property from pcie phy
Kishon Vijay Abraham I [Fri, 20 Feb 2015 08:45:55 +0000 (14:15 +0530)]
ARM: dts: dra7: remove ti,hwmod property from pcie phy

hwmod entry for pcie PHY will be removed since the module mode and
clock control members which should be for pciess hwmod entry was
added for pcie phy hwmod entry.
Hence removed ti,hwmod propery from pcie phy.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agomtd: nand: Prevent possible kernel lockup in nand_command()
Roger Quadros [Tue, 24 Feb 2015 14:50:50 +0000 (16:50 +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@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoMerge branch 'rpmsg-ti-linux-3.14.y' of git://git.ti.com/rpmsg/rpmsg into ti-linux...
Texas Instruments Auto Merger [Tue, 24 Feb 2015 21:21:11 +0000 (15:21 -0600)]
Merge branch 'rpmsg-ti-linux-3.14.y' of git://git.ti.com/rpmsg/rpmsg into ti-linux-3.14.y

TI-Feature: rpmsg
TI-Tree: git://git.ti.com/rpmsg/rpmsg.git
TI-Branch: rpmsg-ti-linux-3.14.y

* 'rpmsg-ti-linux-3.14.y' of git://git.ti.com/rpmsg/rpmsg:
  remoteproc/pruss: set recovery_disabled flag properly
  remoteproc/pruss: fix pm_runtime_get_sync error check
  remoteproc/pruss: fix loading of PRU resource table
  remoteproc: add macros to use with rproc_da_to_va() flags
  remoteproc: revise rproc_da_to_va() documentation

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agoMerge branch 'rproc-linux-3.14.y' of git://git.ti.com/rpmsg/remoteproc into rpmsg...
Suman Anna [Tue, 24 Feb 2015 20:25:29 +0000 (14:25 -0600)]
Merge branch 'rproc-linux-3.14.y' of git://git.ti.com/rpmsg/remoteproc into rpmsg-ti-linux-3.14.y

Pull in the updated remoteproc feature branch that includes some
minor fixes and a critical fix in the PRUSS remoteproc driver.

* 'rproc-linux-3.14.y' of git://git.ti.com/rpmsg/remoteproc:
  remoteproc/pruss: set recovery_disabled flag properly
  remoteproc/pruss: fix pm_runtime_get_sync error check
  remoteproc/pruss: fix loading of PRU resource table
  remoteproc: add macros to use with rproc_da_to_va() flags
  remoteproc: revise rproc_da_to_va() documentation

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoremoteproc/pruss: set recovery_disabled flag properly
Suman Anna [Mon, 23 Feb 2015 19:59:05 +0000 (13:59 -0600)]
remoteproc/pruss: set recovery_disabled flag properly

The error recovery feature is not supported for the PRU
remote processors. The flag is a negative flag, so mark
the rproc configuration flag appropriately for PRUs.

The debugfs interface behavior is unchanged, as there
are no true triggers for recovery anyways for the PRU
processors.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoremoteproc/pruss: fix pm_runtime_get_sync error check
Suman Anna [Tue, 17 Feb 2015 20:44:37 +0000 (14:44 -0600)]
remoteproc/pruss: fix pm_runtime_get_sync error check

The pm_runtime_get_sync() returns a negative value on error,
so fix the error condition check in the probe. Also use the
pm_runtime_put_noidle() appropriately in the case of a
pm_runtime_get_sync() failure.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoremoteproc/pruss: fix loading of PRU resource table
Suman Anna [Fri, 20 Feb 2015 22:32:08 +0000 (16:32 -0600)]
remoteproc/pruss: fix loading of PRU resource table

The remoteproc core copies the resource table into the remote
processor device memory during the firmware boot process using a
cached table. The device address to copy the resource table into
is found using the function rproc_find_loaded_rsc_table(), which
internally leverages firmware sections and the rproc_da_to_va()
API to retrieve the device address.

The PRUSS remoteproc uses a non-linear addressing scheme and requires
some flags to be passed to its .da_to_va ops to differentiate IRAM
from DRAM. The distinction is made by using the ELF program header or
section header flags, but the ELF flags to indicate executable segments
is different between the two types. A misinterpretation of these flags
caused the resource table to be loaded into IRAM rather than DRAM.

Fix the decision logic in the .da_to_va ops based on the new semantics
used for the rproc_da_to_va() flags argument to identify the type of
ELF header and appropriate executable segment identification.

Patch is based on generalizing an initial solution from Craig McQueen.

Reported-by: Craig McQueen <craig.mcqueen@innerrange.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoremoteproc: add macros to use with rproc_da_to_va() flags
Suman Anna [Fri, 20 Feb 2015 21:35:41 +0000 (15:35 -0600)]
remoteproc: add macros to use with rproc_da_to_va() flags

The rproc_da_to_va() API takes in a flags argument to pass
it onto the individual remoteproc implementations to aid them
in performing proper address translations on internal memory
regions. As this can vary from one implementation to the other,
define some semantics for this flags argument.

A new flags type is encoded into the upper 16 bits along side
the actual value in the lower 16-bits for the flags argument,
to allow different individual implementations to have better
flexibility in interpreting the flags as per their needs.

The current remoteproc ELF loader code is also updated to
use this semantics to pass the different types of flags used
in different invocations of rproc_da_to_va().

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoremoteproc: revise rproc_da_to_va() documentation
Suman Anna [Fri, 20 Feb 2015 19:51:40 +0000 (13:51 -0600)]
remoteproc: revise rproc_da_to_va() documentation

The rproc_da_to_va() is an exported function, but the documentation
doesn't reflect that. Revise and add proper kernel documentation to
the function to reflect the current state.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoMerge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integrat...
Texas Instruments Auto Merger [Mon, 23 Feb 2015 09:20:44 +0000 (03:20 -0600)]
Merge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-3.14.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-3.14.y

* 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  drivers: spi: ti-qspi: wait for busy bit clear before data write/read

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agodrivers: spi: ti-qspi: wait for busy bit clear before data write/read
Mugunthan V N [Tue, 17 Feb 2015 19:03:51 +0000 (00:33 +0530)]
drivers: spi: ti-qspi: wait for busy bit clear before data write/read

[ Upstream commit 006110476478c69c399d0cd25888eefab0e69267 ]

Data corruption is seen while reading/writing large data from/to qspi
device because the data register is over written or read before data
is ready which is denoted by busy bit in status register. SO adding
a busy bit check before writing/reading data to/from qspi device.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoMerge branch 'ti-linux-3.14.y-wlcore' of git.ti.com:wilink8-wlan/wilink8-wlan-ti...
Texas Instruments Auto Merger [Sun, 22 Feb 2015 09:21:37 +0000 (03:21 -0600)]
Merge branch 'ti-linux-3.14.y-wlcore' of git.ti.com:wilink8-wlan/wilink8-wlan-ti-linux-kernel into ti-linux-3.14.y

TI-Feature: wlcore
TI-Tree: git@git.ti.com:wilink8-wlan/wilink8-wlan-ti-linux-kernel.git
TI-Branch: ti-linux-3.14.y-wlcore

* 'ti-linux-3.14.y-wlcore' of git.ti.com:wilink8-wlan/wilink8-wlan-ti-linux-kernel:
  arm: am57xx-evm: add wilink8 wlan and bt support

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agoarm: am57xx-evm: add wilink8 wlan and bt support
Eyal Reizer [Thu, 19 Feb 2015 09:45:29 +0000 (11:45 +0200)]
arm: am57xx-evm: add wilink8 wlan and bt support

The wilink8 module is a combo wireless connectivity card based
on Texas Instrument's wl18xx solution.

* Add support for the wlan capabilities of this module by muxing
  the relevant mmc and gpio lines, and setting the required
  platform data.
* Add device tree initilization for kim and ti shared transport
* Mux the uart8 pins used for connection to Wilink8 bluetooth
  and the bluetooth enable gpio pin

Signed-off-by: Eyal Reizer <eyalr@ti.com>
6 years agoMerge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integrat...
Texas Instruments Auto Merger [Fri, 20 Feb 2015 09:21:19 +0000 (03:21 -0600)]
Merge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-3.14.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-3.14.y

* 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  ARM: dts: OMAP5: Fix SATA PHY node
  phy: ti-pipe3: Don't break SATA PHY with older DTBs
  drivers: net: cpsw: Fix broken loop condition in switch mode

Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
6 years agoARM: dts: OMAP5: Fix SATA PHY node
Roger Quadros [Wed, 18 Feb 2015 09:47:23 +0000 (11:47 +0200)]
ARM: dts: OMAP5: Fix SATA PHY node

The sata_ref_clk is a reference clock to the SATA phy.
This fixes SATA malfunction across suspend/resume or when
SATA driver is used as a module.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agophy: ti-pipe3: Don't break SATA PHY with older DTBs
Roger Quadros [Wed, 18 Feb 2015 09:47:22 +0000 (11:47 +0200)]
phy: ti-pipe3: Don't break SATA PHY with older DTBs

Older DTBs don't provide the refclk in the SATA PHY node,
so let's make refclk optional for SATA PHYs else we break
SATA PHY on older DTBs.

Fixes: a97b497ccd4b ("phy: ti-pipe3: Fix SATA across suspend/resume when drive not present")

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agodrivers: net: cpsw: Fix broken loop condition in switch mode
Lennart Sorensen [Fri, 31 Oct 2014 17:28:54 +0000 (13:28 -0400)]
drivers: net: cpsw: Fix broken loop condition in switch mode

[ Upstream commit 6f979eb3fcfb4c3f42f230d174db4bbad0080710 ]

0d961b3b52f566f823070ce2366511a7f64b928c (drivers: net: cpsw: fix buggy
loop condition) accidentally fixed a loop comparison in too many places
while fixing a real bug.

It was correct to fix the dual_emac mode section since there 'i' is used
as an index into priv->slaves which is a 0 based array.

However the other two changes (which are only used in switch mode)
are wrong since there 'i' is actually the ALE port number, and port 0
is the host port, while port 1 and up are the slave ports.

Putting the loop condition back in the switch mode section fixes it.

A comment has been added to point out the intent clearly to avoid future
confusion.  Also a comment is fixed that said the opposite of what was
actually happening.

Signed-off-by: Len Sorensen <lsorense@csclub.uwaterloo.ca>
Acked-by: Heiko Schocher <hs@denx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoMerge branch 'pm-ti-linux-3.14.y' of git://git.ti.com/~kristo/ti-linux-kernel/pm...
Dan Murphy [Wed, 18 Feb 2015 21:25:42 +0000 (15:25 -0600)]
Merge branch 'pm-ti-linux-3.14.y' of git://git.ti.com/~kristo/ti-linux-kernel/pm-linux-feature-tree into ti-linux-3.14.y

TI-Feature: power_management_base
TI-Tree: git://git.ti.com/~kristo/ti-linux-kernel/pm-linux-feature-tree.git
TI-Branch: pm-ti-linux-3.14.y

* 'pm-ti-linux-3.14.y' of git://git.ti.com/~kristo/ti-linux-kernel/pm-linux-feature-tree:
  ARM: dts: am57xx-beagle-x15: Add thermal map
  ARM: dts: DRA7 / OMAP5: Thermal: Introduce phandle
  (gpio-fan): Add thermal control hooks
  thermal: Introduce dummy functions when thermal is not defined
  ARM: dts: am57xx-beagle-x15: Add GPIO controlled fan node
  hwmon: (gpio-fan) Add a shutdown handler to poweroff the fans
  hwmon: (gpio-fan) Allow usage of gpio operations that may sleep

Conflicts:
arch/arm/boot/dts/am57xx-beagle-x15.dts
drivers/hwmon/gpio-fan.c

Signed-off-by: Dan Murphy <DMurphy@ti.com>