android-sdk/kernel-video.git
6 years agoMerge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux... ti2014.10.00
Dan Murphy [Fri, 10 Oct 2014 17:29:20 +0000 (12:29 -0500)]
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:
  drm/tilcdc: make frame completion interrupt always enabled
  drm/tilcdc: correct the dmachannel tracking logic

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoMerge branch 'pm-ti-linux-3.14.y' of git://git.ti.com/~kristo/ti-linux-kernel/pm...
Dan Murphy [Fri, 10 Oct 2014 14:56:38 +0000 (09:56 -0500)]
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: AM43x-EPOS-EVM: Fix DCDC3 voltage
  ARM: dts: AM437x-GP-EVM: Fix DCDC3 voltage
  ARM: dts: AM437x-SK-EVM: Fix DCDC3 voltage

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agodrm/tilcdc: make frame completion interrupt always enabled
Darren Etheridge [Fri, 3 Oct 2014 20:42:08 +0000 (15:42 -0500)]
drm/tilcdc: make frame completion interrupt always enabled

DRM allows vblank handling to be controlled dynamically.  Therefore if vblank
interrupts are not needed by anybody they are disabled.  However on tilcdc a
ping-pong dma is used and there is no way to find out from the hardware which
dma channel will be used for the next frame to program the corresponding dma
registers with the new framebuffer address. The only way currently known is to
use the vsync handler to track the channel currently used.  This means that
disabling the vsync is a bad idea because it is always needed to track the dma
channel.

This patch removes the enable/disable_vblank functions, moves the enabling of
the FRAME0/FRAME1_DONE interrupts into the post_install_interrupt handler so
they are always active and removes the calls to drm_vblank_get,
drm_vblank_put.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agodrm/tilcdc: correct the dmachannel tracking logic
Darren Etheridge [Fri, 3 Oct 2014 20:39:18 +0000 (15:39 -0500)]
drm/tilcdc: correct the dmachannel tracking logic

dma_channel_completed should be reset to channel 0 when the start function is
called and the dma channel in use should be tracked even when no flip is
pending.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoARM: dts: AM43x-EPOS-EVM: Fix DCDC3 voltage
Keerthy [Fri, 10 Oct 2014 05:42:26 +0000 (11:12 +0530)]
ARM: dts: AM43x-EPOS-EVM: Fix DCDC3 voltage

On older PMICs the reset value of the DCDC3 voltage was different.
Fix DCDC3 volatge to 1.5V which is the right value to be supplied by
DCDC3 for all the production boards(Version 1.4+).

Signed-off-by: Keerthy <j-keerthy@ti.com>
6 years agoARM: dts: AM437x-GP-EVM: Fix DCDC3 voltage
Keerthy [Fri, 10 Oct 2014 05:42:10 +0000 (11:12 +0530)]
ARM: dts: AM437x-GP-EVM: Fix DCDC3 voltage

On older PMICs the reset value of the DCDC3 voltage was different.
Fix DCDC3 volatge to 1.5V which is the right value to be supplied by
DCDC3 for all the production boards(Version 1.4+).

This fixes the boot hang issue during the regulator initialization stage.

Tested-by: Aparna Balasubramanian <aparnab@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
6 years agoARM: dts: AM437x-SK-EVM: Fix DCDC3 voltage
Keerthy [Fri, 10 Oct 2014 05:42:39 +0000 (11:12 +0530)]
ARM: dts: AM437x-SK-EVM: Fix DCDC3 voltage

On older PMICs the reset value of the DCDC3 voltage was different.
Fix DCDC3 volatge to 1.5V which is the right value to be supplied by
DCDC3 for all the production boards(Version 1.4+).

Tested-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
6 years agoMerge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux...
Dan Murphy [Thu, 9 Oct 2014 19:48:54 +0000 (14:48 -0500)]
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:
  OMAPDSS: DISPC: fix div by zero issue in overlay scaling
  drm/omap: fix plane's channel selection

Signed-off-by: Dan Murphy <dmurphy@ti.com>
6 years agoMerge branch 'pm-ti-linux-3.14.y' of git://git.ti.com/~kristo/ti-linux-kernel/pm...
Dan Murphy [Thu, 9 Oct 2014 14:57:09 +0000 (09:57 -0500)]
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: OMAP2: sleep43xx: Access registers to avoid TLB miss
  ARM: OMAP2+: sleep43xx: Add omap_bus_sync style accesses

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoMerge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integrat...
Dan Murphy [Thu, 9 Oct 2014 14:23:03 +0000 (09:23 -0500)]
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: am335x-evmsk: enable DMA controller for USB
  usb: musb: musb_dsps: fix NULL pointer in suspend
  usb: dwc3: get rid of ->prepare()/->complete()
  usb: dwc3: dwc3-omap: get rid of ->prepare()/->complete()

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoARM: OMAP2: sleep43xx: Access registers to avoid TLB miss
Dave Gerlach [Mon, 6 Oct 2014 21:47:18 +0000 (16:47 -0500)]
ARM: OMAP2: sleep43xx: Access registers to avoid TLB miss

Access the three registers that we need to access after EMIF is placed
in DDR to make sure they are present in TLB to avoid a miss and walk of
page table in DDR, which is not possible once DDR is shut off and will
lead to a hang in suspend path if attempted.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
6 years agoARM: OMAP2+: sleep43xx: Add omap_bus_sync style accesses
Dave Gerlach [Mon, 6 Oct 2014 21:47:17 +0000 (16:47 -0500)]
ARM: OMAP2+: sleep43xx: Add omap_bus_sync style accesses

According to AM437x Silicon Errata document (SPRZ408, June 2014)
Advisory 11, the SoC also suffers from the potential Asynchronous Bridge
Corruption issues seen on OMAP4, which were corrected by 137d105d5. Add
omap_bus_sync style accesses to DRAM and SRAM to avoid hangs during
suspend/resume by perfoming one strongly ordered write to DRAM and one
to SRAM before calling WFI in the suspend path assembly code.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
6 years agoARM: dts: am335x-evmsk: enable DMA controller for USB
Yegor Yefremov [Mon, 10 Mar 2014 15:26:57 +0000 (16:26 +0100)]
ARM: dts: am335x-evmsk: enable DMA controller for USB

[ Upstream commit cae2a9e3abf27ad4eb0c0341bf34e4a6349c314f ]

Enable DMA controller for USB

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agousb: musb: musb_dsps: fix NULL pointer in suspend
Sebastian Andrzej Siewior [Wed, 8 Oct 2014 18:18:17 +0000 (20:18 +0200)]
usb: musb: musb_dsps: fix NULL pointer in suspend

So testing managed to configure musb in DMA mode but not load the
matching cppi41 driver for DMA. This results in

|musb-hdrc musb-hdrc.0.auto: Failed to request rx1.
|musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517
|platform musb-hdrc.0.auto: Driver musb-hdrc requests probe deferral

which is "okay". Once the driver is loaded we re-try probing and
everyone is happy. Until then if you try suspend say
echo mem > /sys/power/state
then you go boom

|Unable to handle kernel NULL pointer dereference at virtual address 000003a4
|pgd = cf50c000
|[000003a4] *pgd=8f6a3831, *pte=00000000, *ppte=00000000
|Internal error: Oops: 17 [#1] ARM
|PC is at dsps_suspend+0x18/0x9c [musb_dsps]
|LR is at dsps_suspend+0x18/0x9c [musb_dsps]
|pc : [<bf08e268>] lr : [<bf08e268>] psr: a0000013
|sp : cbd97e00 ip : c0af4394 fp : 00000000
|r10: c0831d90 r9 : 00000002 r8 : cf6da410
|r7 : c03ba4dc r6 : bf08f224 r5 : 00000000 r4 : cbc5fcd0
|r3 : bf08e250 r2 : bf08f264 r1 : cf6da410 r0 : 00000000
|[<bf08e268>] (dsps_suspend [musb_dsps]) from [<c03ba508>] (platform_pm_suspend+0x2c/0x54)
|Code: e1a04000 e9900041 e2800010 eb4caa8e (e59053a4)

because platform_get_drvdata() returns a NULL pointer as long as the
device is not fully probed.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agousb: dwc3: get rid of ->prepare()/->complete()
Felipe Balbi [Wed, 8 Oct 2014 11:54:52 +0000 (17:24 +0530)]
usb: dwc3: get rid of ->prepare()/->complete()

Using ->prepare()/->complete() to mask/unmask
IRQs is wrong at least for dwc3. We need to
make sure that by the end of ->resume(), IRQs
are working and ready to fire because a child
device may need working IRQs for its own ->resume()
method.

Signed-off-by: Felipe Balbi <balbi@ti.com>
[george.cherian@ti.com] Ported for 3.14 with a minor fix to
do dwc3_event_buffers_setup() before doing dwc3_gadget_resume()
Signed-off-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agousb: dwc3: dwc3-omap: get rid of ->prepare()/->complete()
George Cherian [Wed, 8 Oct 2014 11:54:51 +0000 (17:24 +0530)]
usb: dwc3: dwc3-omap: get rid of ->prepare()/->complete()

Enabling the core interrupts in complete is too late for
XHCI, and stops it from proper operation. The root of the
problem is due to a disagreement between dwc3-omap and XHCI
about when IRQs should be enabled.

As it turns out, ->resume's documentation states that:

"... generally the driver is expected to start working
again, responding to hardware events and software requests
(the device itself may be left in a low-power state, waiting
for a runtime resume to occur) ..."

From that we infer that IRQs must be unmasked by the end of
->resume().

Due to that, we will remove ->prepare() and ->complete() and
disable/enable interrupts in ->suspend()/->resume().

Signed-off-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
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...
Dan Murphy [Tue, 7 Oct 2014 14:41:38 +0000 (09:41 -0500)]
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:
  HACK: usb: dwc3: gadget: Fix broken gadget on system suspend/resume
  arm: boot: dts: am437x-sk: add missing USB pins
  net: can: c_can: fix build error due to pinctrl

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoHACK: usb: dwc3: gadget: Fix broken gadget on system suspend/resume
Roger Quadros [Mon, 6 Oct 2014 16:07:57 +0000 (19:07 +0300)]
HACK: usb: dwc3: gadget: Fix broken gadget on system suspend/resume

We need to stop the gadget controller while system suspend
else it results in L3 Bus errors on resume with broken
USB gadget.

HACK because we are breaking Synopsys hibernation feature.
As none of the TI platforms use it it should be OK for TI release.

[   55.718226] WARNING: CPU: 0 PID: 0 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x224/0x31c()
[   55.718232] 44000000.ocp:L3 Custom Error: MASTER USB3 TARGET GPMC (Idle): Data Access in User mode during Functional access
[   55.718263] Modules linked in: usb_f_ss_lb g_zero libcomposite configfs xhci_hcd btwilink bluetooth dwc3 6lowpan_iphc m25p80 dwc3_omap omap_remoteproc
[   55.718271] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.14.19-02011-g3ece3ca-dirty #658
[   55.718290] [<c0016090>] (unwind_backtrace) from [<c0012060>] (show_stack+0x10/0x14)
[   55.718302] [<c0012060>] (show_stack) from [<c062a2e4>] (dump_stack+0x78/0x94)
[   55.718315] [<c062a2e4>] (dump_stack) from [<c0043bc4>] (warn_slowpath_common+0x6c/0x90)
[   55.718325] [<c0043bc4>] (warn_slowpath_common) from [<c0043c7c>] (warn_slowpath_fmt+0x30/0x40)
[   55.718336] [<c0043c7c>] (warn_slowpath_fmt) from [<c030fb24>] (l3_interrupt_handler+0x224/0x31c)
[   55.718348] [<c030fb24>] (l3_interrupt_handler) from [<c0093010>] (handle_irq_event_percpu+0x5c/0x23c)
[   55.718358] [<c0093010>] (handle_irq_event_percpu) from [<c009322c>] (handle_irq_event+0x3c/0x5c)
[   55.718367] [<c009322c>] (handle_irq_event) from [<c0096160>] (handle_fasteoi_irq+0x98/0x158)
[   55.718377] [<c0096160>] (handle_fasteoi_irq) from [<c00929dc>] (generic_handle_irq+0x20/0x30)
[   55.718385] [<c00929dc>] (generic_handle_irq) from [<c000eea8>] (handle_IRQ+0x4c/0xb0)
[   55.718393] [<c000eea8>] (handle_IRQ) from [<c0008638>] (gic_handle_irq+0x28/0x5c)
[   55.718402] [<c0008638>] (gic_handle_irq) from [<c0630964>] (__irq_svc+0x44/0x5c)
[   55.718406] Exception stack(0xc09c1f68 to 0xc09c1fb0)
[   55.718412] 1f60:                   00000001 00000001 00000000 00000000 c09c0000 00000000
[   55.718418] 1f80: c09c0000 c09c0000 c0a7a1e4 c09c8938 c09c89b4 00000000 60000093 c09c1fb0
[   55.718423] 1fa0: c008a2e4 c00926cc 60000013 ffffffff
[   55.718433] [<c0630964>] (__irq_svc) from [<c00926cc>] (cpu_startup_entry+0x100/0x1f4)
[   55.718444] [<c00926cc>] (cpu_startup_entry) from [<c0901ac4>] (start_kernel+0x324/0x388)

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com> # v3.14 only
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoarm: boot: dts: am437x-sk: add missing USB pins
Felipe Balbi [Thu, 2 Oct 2014 18:26:53 +0000 (13:26 -0500)]
arm: boot: dts: am437x-sk: add missing USB pins

Add missing DRVVBUS pinctrl data.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agonet: can: c_can: fix build error due to pinctrl
Sekhar Nori [Thu, 2 Oct 2014 16:18:37 +0000 (21:48 +0530)]
net: can: c_can: fix build error due to pinctrl

Fix this build error:

drivers/net/can/c_can/c_can_platform.c: In function ‘c_can_suspend’:
drivers/net/can/c_can/c_can_platform.c:360:2: error: implicit declaration of function ‘pinctrl_pm_select_sleep_state’ [-Werror=implicit-function-declaration]
  pinctrl_pm_select_sleep_state(&pdev->dev);
  ^
Fixes: 9e50229c8b9c ("net: can: enhance pinctrl support")

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 [Mon, 6 Oct 2014 14:38:46 +0000 (09:38 -0500)]
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/dmaengine: edma: Move dmaengine pdevice registration to arm/common/edma.c
  clk: ti: clk-7xx: Configure ATL1 and ATL2 clocks
  clk: ti: clk-7xx: Correct ABE DPLL configuration

Conflicts:
arch/arm/common/edma.c
drivers/clk/ti/clk-7xx.c

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoMerge branch 'rpmsg-ti-linux-3.14.y' of git://git.ti.com/rpmsg/rpmsg into ti-linux...
Dan Murphy [Mon, 6 Oct 2014 12:27:09 +0000 (07:27 -0500)]
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:
  ti_config_fragments: rpmsg: Enable hwspinlock driver
  hwspinlock/core: add support for reserved locks
  hwspinlock/core: prepare core to support reserved locks
  hwspinlock/core: prepare unregister code to support reserved locks
  hwspinlock/omap: add support for dt nodes
  hwspinlock/core: add common OF helpers
  hwspinlock/core: maintain a list of registered hwspinlock banks
  Documentation: dt: add the omap hwspinlock bindings document
  Documentation: dt: add common bindings for hwspinlock
  hwspinlock: enable OMAP build for AM33xx, AM43xx & DRA7xx
  hwspinlock/omap: enable module before reading SYSSTATUS register

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoARM/dmaengine: edma: Move dmaengine pdevice registration to arm/common/edma.c
Peter Ujfalusi [Mon, 6 Oct 2014 12:16:46 +0000 (17:46 +0530)]
ARM/dmaengine: edma: Move dmaengine pdevice registration to arm/common/edma.c

The platform device for the eDMA dmaengine driver should be created in the
arch/arm/common/edma.c driver and not by itself. This way we can avoid to
have extra (unconnected) logic in the edma dmaengine driver to create
correct number of devices (one or two) and also this way we can make sure
that the platform device for the dmaengine part is only registered when
the device is using edma. Currently the first device is registered without
unconditionally, and the dmaengine driver will fail since the platform does
not have support for eDMA.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoclk: ti: clk-7xx: Configure ATL1 and ATL2 clocks
Peter Ujfalusi [Mon, 6 Oct 2014 11:54:40 +0000 (17:24 +0530)]
clk: ti: clk-7xx: Configure ATL1 and ATL2 clocks

Set the parent of the atl_gfclk_mux and configure the rate
for atl1 and atl2.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Tero Kristo <t-kristo@ti.com>
6 years agoclk: ti: clk-7xx: Correct ABE DPLL configuration
Peter Ujfalusi [Mon, 6 Oct 2014 11:50:36 +0000 (17:20 +0530)]
clk: ti: clk-7xx: Correct ABE DPLL configuration

[ Upstream commit a74c52def9ab953c77956a8e93d225621980f54c ]

ABE DPLL frequency need to be lowered from 361267200
to 180633600 to facilitate the ATL requironments.
The dpll_abe_m2x2_ck clock need to be set to double
of ABE DPLL rate in order to have correct clocks
for audio.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Tero Kristo <t-kristo@ti.com>
6 years agoti_config_fragments: rpmsg: Enable hwspinlock driver
Suman Anna [Thu, 2 Oct 2014 23:36:39 +0000 (18:36 -0500)]
ti_config_fragments: rpmsg: Enable hwspinlock driver

Enable the OMAP HwSpinlock driver to be built-in in the RPMsg
configuration script. There are currently no direct users of
the HwSpinlock IP, but the built-in is the preferred choice
for this driver.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoMerge branch 'hwspinlock-linux-3.14.y' of git://git.ti.com/rpmsg/hwspinlock into...
Suman Anna [Thu, 2 Oct 2014 23:06:30 +0000 (18:06 -0500)]
Merge branch 'hwspinlock-linux-3.14.y' of git://git.ti.com/rpmsg/hwspinlock into rpmsg-ti-linux-3.14.y

Pull in the hwspinlock feature tree supporting the HwSpinlock IP on
OMAP4, OMAP5, DRA7xx, AM335x and AM437x SoCs.

* 'hwspinlock-linux-3.14.y' of git://git.ti.com/rpmsg/hwspinlock:
  hwspinlock/core: add support for reserved locks
  hwspinlock/core: prepare core to support reserved locks
  hwspinlock/core: prepare unregister code to support reserved locks
  hwspinlock/omap: add support for dt nodes
  hwspinlock/core: add common OF helpers
  hwspinlock/core: maintain a list of registered hwspinlock banks
  Documentation: dt: add the omap hwspinlock bindings document
  Documentation: dt: add common bindings for hwspinlock
  hwspinlock: enable OMAP build for AM33xx, AM43xx & DRA7xx
  hwspinlock/omap: enable module before reading SYSSTATUS register

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoOMAPDSS: DISPC: fix div by zero issue in overlay scaling
Tomi Valkeinen [Fri, 3 Oct 2014 15:14:09 +0000 (15:14 +0000)]
OMAPDSS: DISPC: fix div by zero issue in overlay scaling

omapdrm doesn't always configure the overlays correctly, causing the
overlay setup functions to be called with zero timings. This leads to
division by zero error.

This happens, for example, when a HDMI cable is not connected, but a
user tries to setup a plane with scaling.

Fixing omapdrm is a big job, so for now let's check for the bad timings
in DISPC and return an error.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agodrm/omap: fix plane's channel selection
Tomi Valkeinen [Fri, 3 Oct 2014 15:14:08 +0000 (15:14 +0000)]
drm/omap: fix plane's channel selection

omap_plane_pre_apply() sets the plane's output channel too late, only
after the plane has already been otherwise configured and enabled. This
causes problems, as at the configuration stage we need to make decisions
based on the output channel.

This may lead to bad plane settings or failing to setup the plane.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoMerge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux...
Dan Murphy [Fri, 3 Oct 2014 12:33:56 +0000 (07:33 -0500)]
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:
  drm/tilcdc: fix build error due to pinctrl

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoMerge branch 'rpmsg-ti-linux-3.14.y' of git://git.ti.com/rpmsg/rpmsg into ti-linux...
Dan Murphy [Thu, 2 Oct 2014 20:33:25 +0000 (15:33 -0500)]
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:
  iommu/omap: Switch pagetable debugfs entry to use seq_file
  iommu/omap: make pagetable debugfs entry read-only
  iommu/omap: Fix bus error on debugfs access of unattached IOMMU
  iommu/omap: reset the domain field upon detaching
  iommu/omap: Fix the permissions on nr_tlb_entries
  iommu/omap: rename debugfs root directory
  iommu/omap: Simplify omap2_iommu_fault_isr()
  iommu/omap: Remove bogus version check in context save/restore
  iommu/omap: Remove omap_iommu_arch_version() and version field
  iommu/omap: Remove ver debugfs entry
  iommu/omap: Remove conditional definition of dev_to_omap_iommu()
  iommu/omap: Remove duplicate declarations
  iommu/omap: remove refcount field from omap_iommu object
  iommu/omap: Remove omap_iommu unused owner field
  iommu/omap: revise check for valid arch_data in attach_dev

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoMerge branch 'rproc-linux-3.14.y' of git://git.ti.com/rpmsg/remoteproc into rpmsg...
Suman Anna [Thu, 2 Oct 2014 19:39:07 +0000 (14:39 -0500)]
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 the
various OMAP IOMMU cleanup patches and fixes.

* 'rproc-linux-3.14.y' of git://git.ti.com/rpmsg/remoteproc:
  iommu/omap: Switch pagetable debugfs entry to use seq_file
  iommu/omap: make pagetable debugfs entry read-only
  iommu/omap: Fix bus error on debugfs access of unattached IOMMU
  iommu/omap: reset the domain field upon detaching
  iommu/omap: Fix the permissions on nr_tlb_entries
  iommu/omap: rename debugfs root directory
  iommu/omap: Simplify omap2_iommu_fault_isr()
  iommu/omap: Remove bogus version check in context save/restore
  iommu/omap: Remove omap_iommu_arch_version() and version field
  iommu/omap: Remove ver debugfs entry
  iommu/omap: Remove conditional definition of dev_to_omap_iommu()
  iommu/omap: Remove duplicate declarations
  iommu/omap: remove refcount field from omap_iommu object
  iommu/omap: Remove omap_iommu unused owner field
  iommu/omap: revise check for valid arch_data in attach_dev

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoMerge branch 'iommu-linux-3.14.y' of git://git.ti.com/rpmsg/iommu into rproc-linux...
Suman Anna [Thu, 2 Oct 2014 19:30:01 +0000 (14:30 -0500)]
Merge branch 'iommu-linux-3.14.y' of git://git.ti.com/rpmsg/iommu into rproc-linux-3.14.y

Merge in the updated iommu feature branch into remoteproc tree to
pull in the various OMAP IOMMU cleanup and fixes. The following
are the main changes:
- iommu debugfs directory renamed to omap_iommu
- pagetable debugfs entry lists all valid ptes, write operation
  no longer allowed on this entry
- ver debugfs entry removed
- code cleanup of unused fields

* 'iommu-linux-3.14.y' of git://git.ti.com/rpmsg/iommu:
  iommu/omap: Switch pagetable debugfs entry to use seq_file
  iommu/omap: make pagetable debugfs entry read-only
  iommu/omap: Fix bus error on debugfs access of unattached IOMMU
  iommu/omap: reset the domain field upon detaching
  iommu/omap: Fix the permissions on nr_tlb_entries
  iommu/omap: rename debugfs root directory
  iommu/omap: Simplify omap2_iommu_fault_isr()
  iommu/omap: Remove bogus version check in context save/restore
  iommu/omap: Remove omap_iommu_arch_version() and version field
  iommu/omap: Remove ver debugfs entry
  iommu/omap: Remove conditional definition of dev_to_omap_iommu()
  iommu/omap: Remove duplicate declarations
  iommu/omap: remove refcount field from omap_iommu object
  iommu/omap: Remove omap_iommu unused owner field
  iommu/omap: revise check for valid arch_data in attach_dev

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: Switch pagetable debugfs entry to use seq_file
Suman Anna [Thu, 2 Oct 2014 16:29:13 +0000 (11:29 -0500)]
iommu/omap: Switch pagetable debugfs entry to use seq_file

The debugfs entry 'pagetable' that shows the page table entry
(PTE) data currently outputs only data that can be fit into a
page. Switch the entry to use the seq_file interface so that
it can show all the valid page table entries.

The patch also corrected the output for L2 entries, and prints
the proper L2 PTE instead of the previous L1 page descriptor
pointer.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: make pagetable debugfs entry read-only
Suman Anna [Wed, 1 Oct 2014 22:00:27 +0000 (17:00 -0500)]
iommu/omap: make pagetable debugfs entry read-only

Remove the writeability on the 'pagetable' debugfs entry,
so that the mapping/unmapping into an OMAP IOMMU is only
limited to actual client devices/drivers at kernel-level.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: Fix bus error on debugfs access of unattached IOMMU
Suman Anna [Tue, 23 Sep 2014 22:11:31 +0000 (17:11 -0500)]
iommu/omap: Fix bus error on debugfs access of unattached IOMMU

Any debugfs access on an OMAP IOMMU that is not enabled (done during
attach) results in a bus error due to access of registers without
the clock or the reset enabled for the respective IOMMU. So, add a
check to make sure the IOMMU is enabled/attached by a client device.
This gracefully prints a "Operation not permitted" trace when the
corresponding IOMMU is not enabled.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: reset the domain field upon detaching
Suman Anna [Thu, 2 Oct 2014 18:02:59 +0000 (13:02 -0500)]
iommu/omap: reset the domain field upon detaching

The .domain field in omap_iommu struct is set properly when the
OMAP IOMMU device is attached to, but is never reset properly
on detach. Reset this properly so that the OMAP IOMMU debugfs
logic can depend on this field before allowing the debugfs
operations.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agodrm/tilcdc: fix build error due to pinctrl
Sekhar Nori [Thu, 2 Oct 2014 23:03:46 +0000 (23:03 +0000)]
drm/tilcdc: fix build error due to pinctrl

Fix this error:

drivers/gpu/drm/tilcdc/tilcdc_drv.c:552:2: error: implicit declaration of function ‘pinctrl_pm_select_sleep_state’ [-Werror=implicit-function-declaration]
  pinctrl_pm_select_sleep_state(dev);

Fixes: 6d4f88b9843d ("drm/tilcdc: adopt pinctrl support")

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoiommu/omap: Fix the permissions on nr_tlb_entries
Suman Anna [Wed, 24 Sep 2014 22:10:50 +0000 (17:10 -0500)]
iommu/omap: Fix the permissions on nr_tlb_entries

The permissions on the debugfs entry "nr_tlb_entries" should
have been octal, not decimal, so fix it.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: rename debugfs root directory
Suman Anna [Thu, 2 Oct 2014 17:08:36 +0000 (12:08 -0500)]
iommu/omap: rename debugfs root directory

Rename the debugfs root directory from the generic name,
"iommu" to a specific name, "omap_iommu".

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: Simplify omap2_iommu_fault_isr()
Suman Anna [Wed, 1 Oct 2014 17:17:40 +0000 (12:17 -0500)]
iommu/omap: Simplify omap2_iommu_fault_isr()

The function omap2_iommu_fault_isr() does an unnecessary
recomputation of the return value. The logic relies on
setting the same bit fields as the MMU fault error status
bits, so simplify this function and remove the unneeded
macros. These macros were originally exported to notify
MMU faults to users prior to the IOMMU framework adaptation,
but are now redundant.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: Remove bogus version check in context save/restore
Suman Anna [Tue, 16 Sep 2014 21:24:34 +0000 (16:24 -0500)]
iommu/omap: Remove bogus version check in context save/restore

The omap2_iommu_save_ctx() and omap2_iommu_restore_ctx()
performs a sanity version check against a fixed value
that is correct only for OMAP2/OMAP3 IOMMUs. This fixed check
does not scale for all OMAP2+ IOMMUs and is not absolutely
required, so it has been removed.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: Remove omap_iommu_arch_version() and version field
Suman Anna [Wed, 17 Sep 2014 17:17:15 +0000 (12:17 -0500)]
iommu/omap: Remove omap_iommu_arch_version() and version field

The function omap_iommu_arch_version() is not used anymore,
and is not required either, so remove it. The .version field
in struct iommu_functions that this function uses is also
removed, as it is not really an ops to retrieve a version and
there won't be any usage for this field either.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: Remove ver debugfs entry
Suman Anna [Tue, 16 Sep 2014 21:27:01 +0000 (16:27 -0500)]
iommu/omap: Remove ver debugfs entry

The debugfs entry 'ver' to read the OMAP IOMMU version is
not much useful for developers, so it has been removed. The
same can be deduced from the register dump, provided by the
debugfs entry 'regs', REVISION register. This also allows us
to remove the omap_iommu_arch_revision() which is currently
returning a fixed value.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: Remove conditional definition of dev_to_omap_iommu()
Suman Anna [Thu, 18 Sep 2014 22:20:29 +0000 (17:20 -0500)]
iommu/omap: Remove conditional definition of dev_to_omap_iommu()

The dev_to_omap_iommu() is local to the OMAP IOMMU modules, and
need not be defined conditionally. The CONFIG_IOMMU_API dependency
check was added in the past to fix a compilation issue back when
the header resided in the arch/arm layers, and is no longer
needed.

While at this, fix the header against double inclusion as well.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: Remove duplicate declarations
Suman Anna [Wed, 17 Sep 2014 18:42:24 +0000 (13:42 -0500)]
iommu/omap: Remove duplicate declarations

The omap_iommu_save_ctx() and omap_iommu_restore_ctx() declarations
are defined in include/linux/omap-iommu.h and do not belong in the
internal drivers/iommu/omap-iommu.h header, so remove them.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: remove refcount field from omap_iommu object
Suman Anna [Wed, 17 Sep 2014 20:46:54 +0000 (15:46 -0500)]
iommu/omap: remove refcount field from omap_iommu object

The refcount field in omap_iommu object is primarily used to check
if an IOMMU device has already been enabled, but this is already
implicit in the omap_iommu_attach_dev() which ensures that only
a single client device can attach to an IOMMU. This field is
redundant, and so has been cleaned up.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoiommu/omap: Remove omap_iommu unused owner field
Laurent Pinchart [Tue, 30 Sep 2014 23:16:31 +0000 (18:16 -0500)]
iommu/omap: Remove omap_iommu unused owner field

The owner field is never set. Remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
6 years agoiommu/omap: revise check for valid arch_data in attach_dev
Suman Anna [Tue, 30 Sep 2014 23:11:15 +0000 (18:11 -0500)]
iommu/omap: revise check for valid arch_data in attach_dev

Commit a894073 (iommu/omap: check for valid archdata in attach_dev)
has added a sanity check to make sure that the archdata is valid in
attach_dev. Revise this check to also check for the name field, which
would be set correctly only fir properly configured client devices.
The check is also moved outside of the locking primitive.

This revision syncs up this check with the code in upstream vanilla
kernel.

Signed-off-by: Suman Anna <s-anna@ti.com>
6 years agoMerge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux...
Dan Murphy [Thu, 2 Oct 2014 15:34:01 +0000 (10:34 -0500)]
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:
  drm/omap: add support for data/sync edges and DE polarity
  OMAPDSS: DISPC: change sync_pclk_edge default value
  OMAPDSS: change signal_level & signal_edge enum values
  OMAPDSS: DISPC: explicit handling for sync and de levels
  OMAPDSS: DISPC: remove OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES
  OMAPDSS: TFP410: fix input sync signals
  OMAPDSS: HDMI: check pll_calc() return value
  OMAPDSS: HDMI: fix HDMI PHY freqout

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agodrm/omap: add support for data/sync edges and DE polarity
Tomi Valkeinen [Thu, 2 Oct 2014 17:58:52 +0000 (17:58 +0000)]
drm/omap: add support for data/sync edges and DE polarity

DRM uses struct drm_display_mode to pass video mode timings, and as it
comes from the desktop world, it's missing flags to represent when data/sync
should be driven or if DE should be active high or low.

The support for those should be added to the DRM core, but for the time
being let's just add custom flags for omapdrm.

This fixes the signal polarities for panels that use different settings
than what omapdrm uses.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: DISPC: change sync_pclk_edge default value
Tomi Valkeinen [Thu, 2 Oct 2014 17:58:51 +0000 (17:58 +0000)]
OMAPDSS: DISPC: change sync_pclk_edge default value

The common 'struct videomode' does not have a flag to select when the
sync signals should be driven.

The default behavior of DISPC HW is to drive the sync signal on the
opposite pixel clock edge from data signal, which is also what the
videomode_to_omap_video_timings() uses.

However, it looks like what panels usually expect is that the data and
sync signals are driven on the same edge, so let's change
videomode_to_omap_video_timings() to set the sync_pclk_edge accordingly.

Note that this only affect panels drivers that use
videomode_to_omap_video_timings(), probably when getting the video
timings directly from DT data. The drivers can still configure the
sync_pclk_edge independently if they so wish.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: change signal_level & signal_edge enum values
Tomi Valkeinen [Thu, 2 Oct 2014 17:58:50 +0000 (17:58 +0000)]
OMAPDSS: change signal_level & signal_edge enum values

At the moment the enum values for ACTIVE_HIGH and RISING_EDGE are 0, and
ACTIVE_LOW and FALLING_EDGE are 1, to match the values programmed to HW.
The previous patch removed this dependency.

Swap the enum values the other way around. This doesn't change the
behavior in any way, but makes it easier to debug as value of '1' means
HIGH or RISING.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: DISPC: explicit handling for sync and de levels
Tomi Valkeinen [Thu, 2 Oct 2014 17:58:49 +0000 (17:58 +0000)]
OMAPDSS: DISPC: explicit handling for sync and de levels

When configuring the lcd timings, instead of writing enum values
directly to the HW, use switch-case to get the value to be programmed.

This is safer and also allows us to change the enum values.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: DISPC: remove OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES
Tomi Valkeinen [Thu, 2 Oct 2014 17:58:48 +0000 (17:58 +0000)]
OMAPDSS: DISPC: remove OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES

DISPC can drive data lines either on rising or falling pixel clock edge,
which can be configured by the user.

Sync lines can also be driven on rising or falling pixel clock edge, but
additionally the HW can be configured to drive the sync lines on
opposite clock edge from the data lines.

This opposite edge setting does not make any sense, as the same effect
can be achieved by just setting the sync lines to be driven on the other
edge compared to the data lines. It feels like some kind of backward
compatibility option, even if all DSS versions seem to have the same
implementation.

To simplify the code and configuration of the signals, and to make the
dispc timings more compatible with what is used on other platforms,
let's just remove the whole opposite-edge support.

The drivers that used OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES setting are
changed so that they use the opposite setting from the data edge.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: TFP410: fix input sync signals
Tomi Valkeinen [Thu, 25 Sep 2014 13:00:44 +0000 (16:00 +0300)]
OMAPDSS: TFP410: fix input sync signals

TFP410 requires that DE is active high and the data and syncs are driven
on rising pixel clock edge. However, at the moment the driver doesn't
request such syncs, and the end result is that the sync settings depend
on default values, which are not right in all cases.

Set the sync values explicitly.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: HDMI: check pll_calc() return value
Tomi Valkeinen [Wed, 1 Oct 2014 14:28:24 +0000 (14:28 +0000)]
OMAPDSS: HDMI: check pll_calc() return value

The HDMI code doesn't verify that pll_calc() actually succeeded. Add the
check to catch possible problems.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: HDMI: fix HDMI PHY freqout
Tomi Valkeinen [Wed, 1 Oct 2014 14:28:23 +0000 (14:28 +0000)]
OMAPDSS: HDMI: fix HDMI PHY freqout

The hdmi_phy.c uses wrong comparison when selecting freqout, which
causes bad freqout to be used for 75MHz pixel clock, leading to sync
losts.

Fix the comparison.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoMerge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integrat...
Dan Murphy [Wed, 1 Oct 2014 14:09:42 +0000 (09:09 -0500)]
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:
  mtd: mtd_oobtest: add bitflip_limit parameter
  mtd: mtd_oobtest: Show the verification error location and data
  usb: dwc3: ep0: fix Data Phase for transfer sizes equal to wMaxPacketSize
  usb: dwc3: ep0: return early on NULL requests
  usb: dwc3: gadget: incremental diff to final set_halt() fix
  ARM: dts: am335x-evm: add SD card write protect support

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agomtd: mtd_oobtest: add bitflip_limit parameter
Roger Quadros [Tue, 23 Sep 2014 19:54:57 +0000 (19:54 +0000)]
mtd: mtd_oobtest: add bitflip_limit parameter

It is common for NAND devices to have bitflip errors.
Add a bitflip_limit parameter to specify how many bitflips per
page we can tolerate without flagging an error.
By default zero bitflips are tolerated.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agomtd: mtd_oobtest: Show the verification error location and data
Roger Quadros [Tue, 23 Sep 2014 19:54:56 +0000 (19:54 +0000)]
mtd: mtd_oobtest: Show the verification error location and data

Add a functino memcmpshow() that compares the 2 data buffers
and shows the address:offset and data bytes on comparison failure.
memcmpshow () does not break at a comparison failure but runs the
check for the whole data buffer.

Use memcmpshow() instead of memcmp() for all the verification paths.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agousb: dwc3: ep0: fix Data Phase for transfer sizes equal to wMaxPacketSize
Felipe Balbi [Tue, 30 Sep 2014 22:53:07 +0000 (22:53 +0000)]
usb: dwc3: ep0: fix Data Phase for transfer sizes equal to wMaxPacketSize

According to Section 8.5.3.2 of the USB 2.0 specification,
a USB device must terminate a Data Phase with either a
short packet or a ZLP (if the previous transfer was
a multiple of wMaxPacketSize).

For reference, here's what the USB 2.0 specification, section
8.5.3.2 says:

"
8.5.3.2 Variable-length Data Stage

A control pipe may have a variable-length data phase
in which the host requests more data than is contained
in the specified data structure. When all of the data
structure is returned to the host, the function should
indicate that the Data stage is ended by returning a
packet that is shorter than the MaxPacketSize for the
pipe. If the data structure is an exact multiple of
wMaxPacketSize for the pipe, the function will return
a zero-length packet to indicate the end of the Data
stage.
"

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agousb: dwc3: ep0: return early on NULL requests
Felipe Balbi [Tue, 30 Sep 2014 22:53:06 +0000 (22:53 +0000)]
usb: dwc3: ep0: return early on NULL requests

if our list of requests is empty, return early.

There's really nothing to be done in case our
request list is empty anyway because the only
situation where we our list is empty, is when
we're transferring ZLPs.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agousb: dwc3: gadget: incremental diff to final set_halt() fix
Felipe Balbi [Fri, 26 Sep 2014 22:59:38 +0000 (22:59 +0000)]
usb: dwc3: gadget: incremental diff to final set_halt() fix

This patch is just to make sure TI's v3.14 has the same
content as the one I'll be sending upstream. Note that this
also makes sure that we pass the entire USB 2.0 CV Test
Suite which was not possible with previous version of the
patch.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoMerge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux...
Dan Murphy [Tue, 30 Sep 2014 16:33:58 +0000 (11:33 -0500)]
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:
  OMAPDSS: Add support for MFLAG
  OMAPDSS: setup default fifo thresholds
  OMAPDSS: fix dispc register dump for preload & mflag
  OMAPDSS: DISPC: fix mflag offset
  ARM: dts: am43x-epos-evm: disable LCD backlight when using HDMI
  ARM: dts: am437x-gp-evm: disable LCD backlight when using HDMI

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoMerge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux...
Dan Murphy [Tue, 30 Sep 2014 15:33:56 +0000 (10:33 -0500)]
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:
  ARM: dra7.dtsi: Add audio related parameters to hdmi node
  ASoC: davinci-mcasp: Save and restore the serializer registers on suspend

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoOMAPDSS: Add support for MFLAG
Tomi Valkeinen [Mon, 29 Sep 2014 20:46:18 +0000 (20:46 +0000)]
OMAPDSS: Add support for MFLAG

OMAP5 has support for MFLAG feature, which allows DSS to dynamically
increase the priority of DISPC's DMA traffic. At the moment we don't
have support for it.

It was noticed that on J6 with high bandwidth use cases we see FIFO
underflows. Implementing MFLAG support removed those underflows.
Interestingly, on OMAP5 uEVM no such overflows were seen.

This patch adds a simple MFLAG implementation, where we use a fixed
MFLAG threshold value based on the FIFO size. The thresholds are set to
4/8 of fifo size for low threshold, and 5/8 of fifo size for high
threshold.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: setup default fifo thresholds
Tomi Valkeinen [Mon, 29 Sep 2014 20:46:17 +0000 (20:46 +0000)]
OMAPDSS: setup default fifo thresholds

At the moment we don't setup FIFO thresholds by default in omapdss. It's
supposed to be done by the user of omapdss. And that is missing from
omapdrm, causing unoptimal thresholds to be used when using omapdrm.

While I believe it's in theory better to allow the user of omapdss to
setup the fifo thresholds, in practice we always use the same values,
and we could as well setup the thresholds in omapdss.

Furthermore, in omapdss init we always swap the FIFO used for GFX and WB
overlays, but we don't swap the FIFO thresholds for those overlays
(which is the reason for omapdrm using unoptimal HW reset values). So
it would make sense to setup the thresholds to account for the swapping
of the FIFOs.

So, this patch adds code to setup default FIFO tresholds at omapdss
init.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: fix dispc register dump for preload & mflag
Tomi Valkeinen [Mon, 29 Sep 2014 20:46:16 +0000 (20:46 +0000)]
OMAPDSS: fix dispc register dump for preload & mflag

Preload register is dumped twice for video overlays and mflag register
is not dumped for GFX.

Fix the register dump.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: DISPC: fix mflag offset
Tomi Valkeinen [Mon, 29 Sep 2014 20:46:15 +0000 (20:46 +0000)]
OMAPDSS: DISPC: fix mflag offset

The register offset for DISPC_OVL_MFLAG_THRESHOLD is wrong, fix it.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoARM: dts: am43x-epos-evm: disable LCD backlight when using HDMI
Tomi Valkeinen [Mon, 29 Sep 2014 20:46:14 +0000 (20:46 +0000)]
ARM: dts: am43x-epos-evm: disable LCD backlight when using HDMI

Disable the LCD backlight device when the HDMI is used.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoARM: dts: am437x-gp-evm: disable LCD backlight when using HDMI
Tomi Valkeinen [Mon, 29 Sep 2014 20:46:13 +0000 (20:46 +0000)]
ARM: dts: am437x-gp-evm: disable LCD backlight when using HDMI

Disable the LCD backlight device when the HDMI is used.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoARM: dra7.dtsi: Add audio related parameters to hdmi node
Jyri Sarha [Mon, 29 Sep 2014 16:08:08 +0000 (16:08 +0000)]
ARM: dra7.dtsi: Add audio related parameters to hdmi node

Adds HDMI audio sDMA property through a dma-crossbar reference.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoASoC: davinci-mcasp: Save and restore the serializer registers on suspend
Peter Ujfalusi [Mon, 29 Sep 2014 15:42:25 +0000 (15:42 +0000)]
ASoC: davinci-mcasp: Save and restore the serializer registers on suspend

If the board is suspended to a deep sleep state McASP is going to loose it's
context. We also need to save and restore the configuration of the McASP
serializers.
Since the number of serializers depend on the SoC we need to allocate the
memory for them dynamically.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoMerge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux...
Dan Murphy [Mon, 29 Sep 2014 21:33:52 +0000 (16:33 -0500)]
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:
  ti_config_fragments/audio_display.cfg: Fix compile warning with AM33xx only build

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoti_config_fragments/audio_display.cfg: Fix compile warning with AM33xx only build
Vutla, Lokesh [Thu, 25 Sep 2014 11:41:52 +0000 (11:41 +0000)]
ti_config_fragments/audio_display.cfg: Fix compile warning with AM33xx only build

AM33xx only build give the following compile warning:
warning: (VIDEO_AM437X_VPFE && VIDEO_OV2659) selects VIDEO_V4L2_SUBDEV_API which has unmet direct dependencies (MEDIA_SUPPORT && VIDEO_DEV && MEDIA_CONTROLLER)
warning: (VIDEO_AM437X_VPFE && VIDEO_OV2659) selects VIDEO_V4L2_SUBDEV_API which has unmet direct dependencies (MEDIA_SUPPORT && VIDEO_DEV && MEDIA_CONTROLLER)
Fixing the same.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoARM: dts: am335x-evm: add SD card write protect support
Balaji T K [Thu, 7 Aug 2014 06:05:48 +0000 (11:35 +0530)]
ARM: dts: am335x-evm: add SD card write protect support

Add SD card write protect (lock switch) support for AM335x EVM.

Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Sourav Poddar <sourav.poddar@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 [Mon, 29 Sep 2014 14:58:55 +0000 (09:58 -0500)]
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:
  ti_config_fragments/am43x_only.cfg: Create a seperate config fragment for am43xx devices
  ti_config_fragments/am33x_only.cfg: Create a seperate config fragment for am33xx devices
  clk: ti: am43x: Fix boot with CONFIG_SOC_AM33XX disabled
  clk: ti: dra7-atl-clock: Mark the device as pm_runtime_irq_safe
  ARM: OMAP5+: Reuse OMAP4 PM code for OMAP5 and DRA7

Conflicts:
arch/arm/mach-omap2/Makefile

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoMerge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux...
Dan Murphy [Fri, 26 Sep 2014 16:33:56 +0000 (11:33 -0500)]
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:
  ARM: AM43xx EVM: static configuration for LCD/HDMI switch (HACK)

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoMerge branch 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integrat...
Dan Murphy [Fri, 26 Sep 2014 15:50:04 +0000 (10:50 -0500)]
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: dra72-evm: Add qspi device
  ARM: dts: dra7-evm: Fix interrupt line of pcf@i2c1:0x21
  ARM: dts: dra7-evm: fix device tree partition size

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoARM: AM43xx EVM: static configuration for LCD/HDMI switch (HACK)
Tomi Valkeinen [Wed, 30 Jul 2014 16:50:20 +0000 (16:50 +0000)]
ARM: AM43xx EVM: static configuration for LCD/HDMI switch (HACK)

AM43xx EVM boards have a gpio which switches between LCD and HDMI, and
additionally between analog audio and HDMI audio. As we don't have means
to handle that switch dynamically, we'll have separate .dts files for
LCD and HDMI configurations. We still need to set the switch GPIO value
to high or low, but we don't have means for that either.

This patch is a temporary solution, which adds pdata_quirks for the
EVMs. If a HDMI encoder node is found, the GPIO is set to HDMI mode.
Otherwise the GPIO is set to LCD mode.

[detheridge - fixed up to merge against ti-linux-3.14.y]

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoti_config_fragments/am43x_only.cfg: Create a seperate config fragment for am43xx...
Lokesh Vutla [Thu, 25 Sep 2014 15:11:40 +0000 (20:41 +0530)]
ti_config_fragments/am43x_only.cfg: Create a seperate config fragment for am43xx devices

Disabling CONFIG_SMP on AM43xx based devices gives better performance.
So creating a new config fragment specific to am43xx
and disabling SMP and all other SoCs that are included in OMAP2PLUS.

Acked-by: Carlos Hernandez <ceh@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoti_config_fragments/am33x_only.cfg: Create a seperate config fragment for am33xx...
Lokesh Vutla [Thu, 25 Sep 2014 15:11:39 +0000 (20:41 +0530)]
ti_config_fragments/am33x_only.cfg: Create a seperate config fragment for am33xx devices

Disabling CONFIG_SMP on AM33xx based devices gives better performance.
So creating a new config fragment specific to am33xx
and disabling SMP and all other SoCs that are included in OMAP2PLUS.

Acked-by: Carlos Hernandez <ceh@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoclk: ti: am43x: Fix boot with CONFIG_SOC_AM33XX disabled
Roger Quadros [Thu, 25 Sep 2014 14:26:00 +0000 (19:56 +0530)]
clk: ti: am43x: Fix boot with CONFIG_SOC_AM33XX disabled

[ upstream commit 4332ec1a99510943e50acbe03d6c023d5e327093 ]

Define ti_clk_register_dpll_x2() and of_ti_am3_dpll_x2_setup() if
AM43XX is defined.

Fixes the below boot issue.

[    2.157258] gpmc_l3_clk not enabled
[    2.161194] gpmc_l3_clk not enabled
[    2.164896] Division by zero in kernel.
[    2.169055] CPU: 0 PID: 321 Comm: kworker/u2:2 Tainted: G        W     3.16.0-rc1-00008-g4c0e520 #273
[    2.178880] Workqueue: deferwq deferred_probe_work_func
[    2.184459] [<c001477c>] (unwind_backtrace) from [<c001187c>] (show_stack+0x10/0x14)
[    2.192752] [<c001187c>] (show_stack) from [<c0530f28>] (dump_stack+0x80/0x9c)
[    2.200486] [<c0530f28>] (dump_stack) from [<c02c867c>] (Ldiv0+0x8/0x10)
[    2.207678] [<c02c867c>] (Ldiv0) from [<c0022da0>] (gpmc_calc_divider+0x24/0x40)
[    2.215490] [<c0022da0>] (gpmc_calc_divider) from [<c0022e20>] (gpmc_cs_set_timings+0x18/0x474)
[    2.224783] [<c0022e20>] (gpmc_cs_set_timings) from [<c003069c>] (gpmc_nand_init+0x74/0x1a8)
[    2.233791] [<c003069c>] (gpmc_nand_init) from [<c0024668>] (gpmc_probe+0x52c/0x874)
[    2.242089] [<c0024668>] (gpmc_probe) from [<c0349218>] (platform_drv_probe+0x18/0x48)
[    2.250534] [<c0349218>] (platform_drv_probe) from [<c0347d88>] (driver_probe_device+0x104/0x22c)
[    2.259988] [<c0347d88>] (driver_probe_device) from [<c03464dc>] (bus_for_each_drv+0x44/0x8c)
[    2.269087] [<c03464dc>] (bus_for_each_drv) from [<c0347c4c>] (device_attach+0x74/0x8c)
[    2.277620] [<c0347c4c>] (device_attach) from [<c0347380>] (bus_probe_device+0x88/0xb0)
[    2.286074] [<c0347380>] (bus_probe_device) from [<c0347768>] (deferred_probe_work_func+0x60/0x90)
[    2.295611] [<c0347768>] (deferred_probe_work_func) from [<c004ef50>] (process_one_work+0x1b4/0x4bc)
[    2.305288] [<c004ef50>] (process_one_work) from [<c004f3d4>] (worker_thread+0x148/0x550)
[    2.313954] [<c004f3d4>] (worker_thread) from [<c0055a48>] (kthread+0xc8/0xe4)
[    2.321628] [<c0055a48>] (kthread) from [<c000e648>] (ret_from_fork+0x14/0x2c)

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoclk: ti: dra7-atl-clock: Mark the device as pm_runtime_irq_safe
Peter Ujfalusi [Fri, 19 Sep 2014 19:23:31 +0000 (22:23 +0300)]
clk: ti: dra7-atl-clock: Mark the device as pm_runtime_irq_safe

It is safe to call the pm sync calls in interrupt context in this driver.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoARM: OMAP5+: Reuse OMAP4 PM code for OMAP5 and DRA7
Nishanth Menon [Tue, 9 Sep 2014 17:15:33 +0000 (12:15 -0500)]
ARM: OMAP5+: Reuse OMAP4 PM code for OMAP5 and DRA7

[ upstream commit 377fb3f5d9a34b2913939e0620c1c585b5913bab ]

OMAP4, OMAP5 and DRA7 share a lot of common logic and data structures.
These have been enabled in the previous patches, however, this also
means that OMAP5 or DRA7 only builds also need to build OMAP4 logic.
Update to reuse OMAP4 logic.

This fixes the 'undefined reference to 'omap4_pm_init_early'' in
OMAP5 or DRA7 only builds.

Fixes: 6af16a1dac5465c ("ARM: DRA7: Add hook in SoC initcalls to enable pm initialization")
Fixes: 628ed4717000789 ("ARM: OMAP5: Add hook in SoC initcalls to enable pm initialization")
Reported-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
6 years agoARM: dts: dra72-evm: Add qspi device
Mugunthan V N [Fri, 26 Sep 2014 09:42:34 +0000 (15:12 +0530)]
ARM: dts: dra72-evm: Add qspi device

These add device tree entry for qspi controller driver on dra72-evm.

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoARM: dts: dra7-evm: Fix interrupt line of pcf@i2c1:0x21
Roger Quadros [Fri, 26 Sep 2014 13:13:26 +0000 (16:13 +0300)]
ARM: dts: dra7-evm: Fix interrupt line of pcf@i2c1:0x21

The interrupt line of pcf I/O expander chip @i2c1:0x21
is tied to gpio6_11 and not gpio6_14. Fix that.

Without this USB_ID detection will not work and I2C3 bus activity
will cause spurious interrupts for the I/O expander chip.

Fixes: 87991e7b4dd4 (ARM: dts: dra7-evm: Add extcon nodes for USB)

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoARM: dts: dra7-evm: fix device tree partition size
Mugunthan V N [Fri, 26 Sep 2014 07:25:47 +0000 (12:55 +0530)]
ARM: dts: dra7-evm: fix device tree partition size

64KiB is allocated for device tree partition which is not
sufficient, so updating the partition table size to 512KiB
for device tree partition.

This also aligns the QSPI partition definitions between
kernel and U-Boot.

Fixes 64360207 ("ARM: dts: dra7: Add qspi device")

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
6 years agoMerge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux...
Dan Murphy [Thu, 25 Sep 2014 18:34:05 +0000 (13:34 -0500)]
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:
  ARM: DRA7: hwmod: Fix CAL hwmod flags for suspend issue
  ARM: DRA7: hwmod: Fix VIP hwmod flags for suspend issue
  ARM: DRA7: hwmod: Fix VPE hwmod flags for suspend issue
  OMAPDSS: sii9022: fix sync polarity
  OMAPDSS: fix AM43xx minimum pixel clock divider
  OMAPDSS: fix sii9022 module file name
  drm/omap: fix TILER on OMAP5
  drm/omap: handle mismatching color format and buffer width
  drm/omap: fix error handling in omap_framebuffer_create()
  drm/omap: fix operation without fbdev
  ASoC: davinci-mcasp: Add more registers to context saving/restore
  ARM: DTS: am335x-boneblack: Add mcasp0 pinctrl sleep state
  ARM: DTS: am335x-evm: Add mcasp1 pinctrl sleep state
  ARM: DTS: am335x-evm: Correct mcasp1 node indentation
  ARM: DTS: am335x-evmsk: Add mcasp1 pinctrl sleep state
  ARM: DTS: am335x-evmsk: Correct mcasp1 node indentation

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoARM: DRA7: hwmod: Fix CAL hwmod flags for suspend issue
Benoit Parrot [Tue, 23 Sep 2014 01:57:24 +0000 (01:57 +0000)]
ARM: DRA7: hwmod: Fix CAL hwmod flags for suspend issue

Transitioning to suspend would generate the following message:

[   30.820316] Powerdomain (cam_pwrdm) didn't enter target state 0

DRA72x_ES1.0 Version I Technical Reference Manual
(Literature Number SPRUHP2I) states that CAL only support NO_IDLE,
FORCE_IDLE and SMART_IDLE.
The hwmod flags were updated to reflect this facts.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoARM: DRA7: hwmod: Fix VIP hwmod flags for suspend issue
Benoit Parrot [Tue, 23 Sep 2014 01:57:23 +0000 (01:57 +0000)]
ARM: DRA7: hwmod: Fix VIP hwmod flags for suspend issue

Transitioning to suspend would generate the following message:

[   30.820316] Powerdomain (cam_pwrdm) didn't enter target state 0

DRA75x_DRA74x_ES1.1 Version T Technical Reference Manual
(Literature Number SPRUHI2T) states VIP only support NO_STANDBY,
FORCE_STANDBY, NO_IDLE, FORCE_IDLE and SMART_IDLE.
The hwmod flags were updated to reflect this facts and make sure that
both are software supervised (SWSUSP).

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoARM: DRA7: hwmod: Fix VPE hwmod flags for suspend issue
Benoit Parrot [Tue, 23 Sep 2014 01:57:22 +0000 (01:57 +0000)]
ARM: DRA7: hwmod: Fix VPE hwmod flags for suspend issue

Transitioning to suspend would generate the following message:

[   30.820316] Powerdomain (vpe_pwrdm) didn't enter target state 1

DRA75x_DRA74x_ES1.1 Version T Technical Reference Manual
(Literature Number SPRUHI2T) states that VPE only support NO_STANDBY,
FORCE_STANDBY, NO_IDLE, FORCE_IDLE and SMART_IDLE.
The hwmod flags were updated to reflect this facts and make sure that
both are software supervised (SWSUSP).

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoMerge branch 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux...
Dan Murphy [Thu, 25 Sep 2014 16:34:02 +0000 (11:34 -0500)]
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:
  drm/tilcdc: disable the lcd controller/dma engine when suspend invoked
  drm/tilcdc: make frame_done interrupt active at all times
  ARM: dts: split dra7xx lcd .dts files

Signed-off-by: Dan Murphy <DMurphy@ti.com>
6 years agoOMAPDSS: sii9022: fix sync polarity
Tomi Valkeinen [Thu, 25 Sep 2014 17:56:44 +0000 (17:56 +0000)]
OMAPDSS: sii9022: fix sync polarity

The SiI9022 manual says that the data, DE and sync signals can only
change at certain time period during pixel clock cycle, which is
affected by the "edge select" bit in SiI9022. If edge select is 0, as we
have, the signals should change at rising edge of the pixel clock.

However, the driver sets the sync signals to change at opposite edge of
pixel clock compared to the data, i.e. at falling edge.

I don't see any visible effect this causes, but it could make the video
signal a bit more unstable. So change the sync_pclk_edge to
OMAPDSS_DRIVE_SIG_RISING_EDGE.

Also, set the "edge select" bit explicitly, instead of relying on the HW
default value, to make it clear what the setting is.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: fix AM43xx minimum pixel clock divider
Tomi Valkeinen [Thu, 25 Sep 2014 17:56:43 +0000 (17:56 +0000)]
OMAPDSS: fix AM43xx minimum pixel clock divider

AM43xx supports pixel clock divider of 1, just like all OMAP3+ SoCs. Fix
the minimum divider value.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agoOMAPDSS: fix sii9022 module file name
Tomi Valkeinen [Thu, 25 Sep 2014 16:45:54 +0000 (16:45 +0000)]
OMAPDSS: fix sii9022 module file name

At the moment the makefiles create encoder_sii9022_full.ko, which is
somewhat odd name for the module. It should be encoder-sii9022.ko, like
all the other modules.

This patch renames encoder-sii9022.c to encoder-sii9022-video.c so that
we can create encoder-sii9022.ko from the video and audio parts.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agodrm/omap: fix TILER on OMAP5
Tomi Valkeinen [Thu, 25 Sep 2014 19:24:29 +0000 (19:24 +0000)]
drm/omap: fix TILER on OMAP5

On OMAP5 it is not possible to use TILER buffer with CPU when caching or
write-combining is used. Doing so leads to errors from the memory
manager.

However, on OMAP4, write-combining works fine.

This patch adds platform specific data for the TILER, and a function
tiler_get_cpu_cache_flags() which can be used to get the caching mode to
be used.

Note that without write-combining the use of the TILER buffer with CPU
is unusably slow. It's still good to have it operational for testing
purposes.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agodrm/omap: handle mismatching color format and buffer width
Tomi Valkeinen [Thu, 25 Sep 2014 19:24:28 +0000 (19:24 +0000)]
drm/omap: handle mismatching color format and buffer width

omapdrm doesn't check if the width of the framebuffer and the color
format's bits-per-pixel match.

For example, using a display with a width of 1280, and a buffer
allocated with using 32 bits per pixel (i.e. 1280*4 = 5120 bytes), with
a 24 bits per pixel color format, leads to the following mismatch:
5120/3 = 1706.666... bytes. This causes bad colors and a tilt on the
screen.

Add a check into omapdrm to return an error if the user tries to use
such a combination.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
6 years agodrm/omap: fix error handling in omap_framebuffer_create()
Tomi Valkeinen [Thu, 25 Sep 2014 19:24:27 +0000 (19:24 +0000)]
drm/omap: fix error handling in omap_framebuffer_create()

When an error happens in omap_framebuffer_create(),
omap_framebuffer_create() calls omap_framebuffer_destroy() if the fb
struct has been allocated. However, that crashes, as
omap_framebuffer_destroy(), which calls drm_framebuffer_cleanup(),
should only be called after drm_framebuffer_init()

Fix this by just calling kfree() for the allocated fb when an error
happens.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>