5 years agoARM: dts: tx6: add enet_out clock for FEC karo-tx6 kc/karo-tx6 KARO-TX6-2015-08-24 KARO-TX6-2015-09-18
Lothar Waßmann [Tue, 18 Aug 2015 16:55:11 +0000 (18:55 +0200)]
ARM: dts: tx6: add enet_out clock for FEC

TX6 utilizes the ENET_OUT clock as reference clock for its ethernet
PHY. Specify it in DT, so it will be handled correctly by the driver.

5 years agonet: fec: don't disable enet_out clock
Lothar Waßmann [Tue, 18 Aug 2015 16:51:30 +0000 (18:51 +0200)]
net: fec: don't disable enet_out clock

ENET_OUT is an optional clock which may be used as reference clock for
an ethernet PHY. Switching the clock off may adversely affect the
function of the PHY (experienced with an SMSC LAN8710A).

5 years agovideo: mxc: remove pinctrl setup which is already done by device framework KARO-TX6-2015-03-24
Lothar Waßmann [Mon, 9 Mar 2015 09:38:06 +0000 (10:38 +0100)]
video: mxc: remove pinctrl setup which is already done by device framework

5 years agoARM: dts: tx6: move LCD related pinctrl properties to 'display' node
Lothar Waßmann [Mon, 9 Mar 2015 07:44:19 +0000 (08:44 +0100)]
ARM: dts: tx6: move LCD related pinctrl properties to 'display' node

5 years agoarm: defconfig: tx6: disable unused I2C algos, enable I2C_GPIO KARO-TX6-2015-02-27
Lothar Waßmann [Thu, 26 Feb 2015 11:43:34 +0000 (12:43 +0100)]
arm: defconfig: tx6: disable unused I2C algos, enable I2C_GPIO

5 years agomxc: vpu: remove iramsize property from DT and set it in the driver based on 'compati...
Lothar Waßmann [Thu, 26 Feb 2015 11:34:13 +0000 (12:34 +0100)]
mxc: vpu: remove iramsize property from DT and set it in the driver based on 'compatible' property

5 years agoARM: dts: imx6: sort nodes references alphabetically
Lothar Waßmann [Thu, 26 Feb 2015 11:33:06 +0000 (12:33 +0100)]
ARM: dts: imx6: sort nodes references alphabetically

5 years agoARM: dts: imx6: add support for Ka-Ro TX6 HW Rev. 3 modules
Lothar Waßmann [Thu, 26 Feb 2015 11:32:27 +0000 (12:32 +0100)]
ARM: dts: imx6: add support for Ka-Ro TX6 HW Rev. 3 modules

5 years agoARM: dts: imx6: fix messed up LDB clocks
Lothar Waßmann [Thu, 26 Feb 2015 11:30:59 +0000 (12:30 +0100)]
ARM: dts: imx6: fix messed up LDB clocks

5 years agoARM: dts: tx6: add 'pu-supply' property to vpu node
Lothar Waßmann [Thu, 26 Feb 2015 11:29:59 +0000 (12:29 +0100)]
ARM: dts: tx6: add 'pu-supply' property to vpu node

5 years agovideo: mxc: ldb: add support for NL12880BC20 and VGA timings (used on Ka-Ro MB7 baseb...
Lothar Waßmann [Thu, 26 Feb 2015 11:25:19 +0000 (12:25 +0100)]
video: mxc: ldb: add support for NL12880BC20 and VGA timings (used on Ka-Ro MB7 baseboard)

5 years agovideo: mxc: ldb: sanitize error messages
Lothar Waßmann [Thu, 26 Feb 2015 11:24:23 +0000 (12:24 +0100)]
video: mxc: ldb: sanitize error messages

5 years agovideo: mxc: ldb: check for matching disp_id and ipu_id when checking for same LDB...
Lothar Waßmann [Thu, 26 Feb 2015 11:23:39 +0000 (12:23 +0100)]
video: mxc: ldb: check for matching disp_id and ipu_id when checking for same LDB port

5 years agovideo: mxc: search for display-timings in the mxcfb node, rather than ldb or mxc_lcdif
Lothar Waßmann [Thu, 26 Feb 2015 10:57:01 +0000 (11:57 +0100)]
video: mxc: search for display-timings in the mxcfb node, rather than ldb or mxc_lcdif

The display-timings should be configurable for each individual display
port, rather than for the LCD or LDB interface in general.

Move the of_get_videomode() call to mxcfb_dispdrv_init() which is
called for each display port.

5 years agovideo: fix semantics of of_display_timings_exist()
Lothar Waßmann [Thu, 26 Feb 2015 10:36:11 +0000 (11:36 +0100)]
video: fix semantics of of_display_timings_exist()

The function currently uses of_parse_phandle() to evaluate a
'display-timings' property (pointing to a node that contains the
actual timings) rather than a node named 'display-timings' containing
the timings, which is how the DTB layout actually is.

Use of_get_child_by_name() to find a node by this name instead.

5 years agovideo: mxc: ldb: code cleanup
Lothar Waßmann [Thu, 26 Feb 2015 10:26:23 +0000 (11:26 +0100)]
video: mxc: ldb: code cleanup

5 years agomxc: vpu: use devm_request_irq()
Lothar Waßmann [Thu, 26 Feb 2015 10:09:34 +0000 (11:09 +0100)]
mxc: vpu: use devm_request_irq()

5 years agomxc: vpu: explicitly set return value in each code path of vpu_ioctl()
Lothar Waßmann [Thu, 26 Feb 2015 10:01:00 +0000 (11:01 +0100)]
mxc: vpu: explicitly set return value in each code path of vpu_ioctl()

Do not initialize the 'ret' variable, but explicitly set in in each
code path, so that an forgotten assignment in some code path would
lead to an 'uninitialized variable' warning at compile time.

5 years agomxc: vpu: improve clk enable/disable handling
Lothar Waßmann [Thu, 26 Feb 2015 10:00:40 +0000 (11:00 +0100)]
mxc: vpu: improve clk enable/disable handling

5 years agomxc: vpu: code cleanup
Lothar Waßmann [Thu, 26 Feb 2015 09:59:10 +0000 (10:59 +0100)]
mxc: vpu: code cleanup

5 years agomxc: vpu: remove leftover iounmap() after conversion to devm_ioremap_resource()
Lothar Waßmann [Thu, 26 Feb 2015 09:14:21 +0000 (10:14 +0100)]
mxc: vpu: remove leftover iounmap() after conversion to devm_ioremap_resource()

5 years agogpu: vivante: fix build errors with CONFIG_PM_SLEEP/CONFIG_PM_RUNTIME disabled
Lothar Waßmann [Thu, 26 Feb 2015 08:55:10 +0000 (09:55 +0100)]
gpu: vivante: fix build errors with CONFIG_PM_SLEEP/CONFIG_PM_RUNTIME disabled

5 years agoipuv3: fix build errors with CONFIG_PM_SLEEP/CONFIG_PM_RUNTIME disabled
Lothar Waßmann [Thu, 26 Feb 2015 08:27:51 +0000 (09:27 +0100)]
ipuv3: fix build errors with CONFIG_PM_SLEEP/CONFIG_PM_RUNTIME disabled

5 years agomxc: vpu: fix build errors with CONFIG_PM_SLEEP/CONFIG_PM_RUNTIME disabled
Lothar Waßmann [Thu, 26 Feb 2015 08:25:44 +0000 (09:25 +0100)]
mxc: vpu: fix build errors with CONFIG_PM_SLEEP/CONFIG_PM_RUNTIME disabled

5 years agoipu: don't pass bogus pointers to kfree() in error cases
Lothar Waßmann [Wed, 25 Feb 2015 14:20:37 +0000 (15:20 +0100)]
ipu: don't pass bogus pointers to kfree() in error cases

5 years agoarm: defconfig: tx6: further defconfig updates
Lothar Waßmann [Wed, 25 Feb 2015 14:17:41 +0000 (15:17 +0100)]
arm: defconfig: tx6: further defconfig updates

5 years agoarm: defconfig: tx6: update defconfig
Lothar Waßmann [Thu, 12 Feb 2015 13:25:37 +0000 (14:25 +0100)]
arm: defconfig: tx6: update defconfig

5 years agoARM: imx6q: add missing ldb clocks
Lothar Waßmann [Wed, 4 Feb 2015 08:03:13 +0000 (09:03 +0100)]
ARM: imx6q: add missing ldb clocks

5 years agoARM: dts: tx6: add DTS files for MB7 mainboard
Lothar Waßmann [Tue, 3 Feb 2015 12:47:20 +0000 (13:47 +0100)]
ARM: dts: tx6: add DTS files for MB7 mainboard

5 years agogpu: vivante: Update driver from Freescale 3.10.53-1.1-ga BSP
Lothar Waßmann [Tue, 3 Feb 2015 12:45:41 +0000 (13:45 +0100)]
gpu: vivante: Update driver from Freescale 3.10.53-1.1-ga BSP

6 years agoRevert "net: phy: Set the driver when registering an MDIO bus device" KARO-TX6-2014-08-21
Fabio Estevam [Tue, 5 Aug 2014 11:13:42 +0000 (08:13 -0300)]
Revert "net: phy: Set the driver when registering an MDIO bus device"

Commit a71e3c37960ce5f9 ("net: phy: Set the driver when registering an MDIO bus
device") caused the following regression on the fec driver:

root@imx6qsabresd:~# echo mem > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.003 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done.
Unable to handle kernel NULL pointer dereference at virtual address 0000002c
pgd = bcd14000
[0000002c] *pgd=4d9e0831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] SMP ARM
Modules linked in:
CPU: 0 PID: 617 Comm: sh Not tainted 3.16.0 #17
task: bc0c4e00 ti: bceb6000 task.ti: bceb6000
PC is at fec_suspend+0x10/0x70
LR is at dpm_run_callback.isra.7+0x34/0x6c
pc : [<803f8a98>]    lr : [<80361f44>]    psr: 600f0013
sp : bceb7d70  ip : bceb7d88  fp : bceb7d84
r10: 8091523c  r9 : 00000000  r8 : bd88f478
r7 : 803f8a88  r6 : 81165988  r5 : 00000000  r4 : 00000000
r3 : 00000000  r2 : 00000000  r1 : bd88f478  r0 : bd88f478
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: 4cd1404a  DAC: 00000015
Process sh (pid: 617, stack limit = 0xbceb6240)
Stack: (0xbceb7d70 to 0xbceb8000)

The problem with the original commit is explained by Russell King:

"It has the effect (as can be seen from the oops) of attaching the MDIO bus
device (itself is a bus-less device) to the platform driver, which means
that if the platform driver supports power management, it will be called
to power manage the MDIO bus device.

Moreover, drivers do not expect to be called for power management
operations for devices which they haven't probed, and certainly not for
devices which aren't part of the same bus that the driver is registered

This reverts commit a71e3c37960ce5f9c6a519bc1215e3ba9fa83e75.

Cc: <stable@vger.kernel.org> #3.16
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
6 years agoUpdated to mainline v3.16
Lothar Waßmann [Thu, 21 Aug 2014 08:27:12 +0000 (10:27 +0200)]
Updated to mainline v3.16

6 years agoarm: defconfig: tx6: updated to v3.16
Lothar Waßmann [Wed, 20 Aug 2014 12:36:08 +0000 (14:36 +0200)]
arm: defconfig: tx6: updated to v3.16

6 years agovideo: mxc: remove debug messages
Lothar Waßmann [Wed, 20 Aug 2014 10:54:18 +0000 (12:54 +0200)]
video: mxc: remove debug messages

6 years agovideo: mxc: convey disp_flags to ipuv3 driver
Lothar Waßmann [Mon, 28 Jul 2014 11:05:18 +0000 (13:05 +0200)]
video: mxc: convey disp_flags to ipuv3 driver

6 years agovideo: mxc: fix sig_cfg.clk_pol setting
Lothar Waßmann [Mon, 28 Jul 2014 11:04:35 +0000 (13:04 +0200)]
video: mxc: fix sig_cfg.clk_pol setting

6 years agomtd: gpmi: prevent creating a new BBT when blockmark swapping is disabled
Lothar Waßmann [Thu, 12 Jun 2014 11:40:13 +0000 (13:40 +0200)]
mtd: gpmi: prevent creating a new BBT when blockmark swapping is disabled

Without blockmark swapping, there is no use in creating a BBT from
scratch, so use a BBT descriptor with NAND_BBT_CREATE unset in this

6 years agoof/mtd/nand: add generic binding and helper for NAND_BBT_NO_OOB_BBM
Lothar Waßmann [Thu, 12 Jun 2014 11:40:06 +0000 (13:40 +0200)]
of/mtd/nand: add generic binding and helper for NAND_BBT_NO_OOB_BBM

add a boolean property 'nand-no-oob-bbm' and helper function to be
able to set the NAND_BBT_NO_OOB_BBM flag in DT capable NAND drivers
and use it for i.MX and MXS nand drivers.

6 years agomtd: gpmi: make blockmark swapping optional
Lothar Waßmann [Thu, 12 Jun 2014 11:39:58 +0000 (13:39 +0200)]
mtd: gpmi: make blockmark swapping optional

With a flash-based BBT there is no reason to move the Factory Bad
Block Marker from the data area buffer (to where it is mapped by the
GPMI NAND controller) to the OOB buffer. Thus, make this feature
configurable via DT. This is required for the Ka-Ro electronics

In the original code 'this->swap_block_mark' was synonymous with
'!GPMI_IS_MX23()', so use the latter at the relevant places.

6 years agomtd: gpmi: remove line breaks from error messages and improve wording
Lothar Waßmann [Thu, 12 Jun 2014 11:39:50 +0000 (13:39 +0200)]
mtd: gpmi: remove line breaks from error messages and improve wording

6 years agomtd: gpmi: remove useless (void *) type casts and spaces between type casts and variables
Lothar Waßmann [Thu, 12 Jun 2014 11:39:42 +0000 (13:39 +0200)]
mtd: gpmi: remove useless (void *) type casts and spaces between type casts and variables

6 years agoinput: edt-ft5x06: report ABS_MT_PRESSURE to make X11 work
Lothar Waßmann [Wed, 9 Jul 2014 09:00:20 +0000 (11:00 +0200)]
input: edt-ft5x06: report ABS_MT_PRESSURE to make X11 work

6 years agomxc: vpu: change vpu_data into a pointer to kzalloc'ed memory
Lothar Waßmann [Wed, 9 Jul 2014 08:59:07 +0000 (10:59 +0200)]
mxc: vpu: change vpu_data into a pointer to kzalloc'ed memory

6 years agomxc: vpu: init workqueue before registering IRQ handler
Lothar Waßmann [Wed, 9 Jul 2014 08:58:31 +0000 (10:58 +0200)]
mxc: vpu: init workqueue before registering IRQ handler

6 years agomxc: vpu: remove unused list_head
Lothar Waßmann [Wed, 9 Jul 2014 08:58:05 +0000 (10:58 +0200)]
mxc: vpu: remove unused list_head

6 years agoARM: dts: tx6: adjust the pwm polarity
Lothar Waßmann [Wed, 9 Jul 2014 08:57:29 +0000 (10:57 +0200)]
ARM: dts: tx6: adjust the pwm polarity

6 years agoARM: dts: tx6: use definitions from dt-bindings/input/input.h
Lothar Waßmann [Wed, 9 Jul 2014 08:56:03 +0000 (10:56 +0200)]
ARM: dts: tx6: use definitions from dt-bindings/input/input.h

6 years agoARM: dts: tx6: indentation cleanup
Lothar Waßmann [Wed, 9 Jul 2014 08:55:25 +0000 (10:55 +0200)]
ARM: dts: tx6: indentation cleanup

6 years agovideo: mxc: use of_get_videomode() to set up the video timing
Lothar Waßmann [Wed, 9 Jul 2014 08:53:15 +0000 (10:53 +0200)]
video: mxc: use of_get_videomode() to set up the video timing

6 years agovideo: mxc: use 'struct device' instead of 'platform_device' to simplify code
Lothar Waßmann [Wed, 9 Jul 2014 08:52:12 +0000 (10:52 +0200)]
video: mxc: use 'struct device' instead of 'platform_device' to simplify code

6 years agovideo: mxc: whitespace cleanup
Lothar Waßmann [Wed, 9 Jul 2014 08:50:12 +0000 (10:50 +0200)]
video: mxc: whitespace cleanup

6 years agovideo: mxc: change format string for register values to '%08x'
Lothar Waßmann [Wed, 9 Jul 2014 08:49:43 +0000 (10:49 +0200)]
video: mxc: change format string for register values to '%08x'

6 years agovideo: mxc: remove DEBUG and fix typo in comment
Lothar Waßmann [Wed, 9 Jul 2014 08:48:50 +0000 (10:48 +0200)]
video: mxc: remove DEBUG and fix typo in comment

6 years agovideo: mxc: print error messages with dev_err() rather than dev_dbg()
Lothar Waßmann [Wed, 9 Jul 2014 08:47:30 +0000 (10:47 +0200)]
video: mxc: print error messages with dev_err() rather than dev_dbg()

6 years agovideo: mxc: use proper data structures to eliminate type casts
Lothar Waßmann [Wed, 9 Jul 2014 08:43:38 +0000 (10:43 +0200)]
video: mxc: use proper data structures to eliminate type casts

6 years agopwm: imx: support output polarity inversion
Lothar Waßmann [Thu, 12 Jun 2014 11:38:07 +0000 (13:38 +0200)]
pwm: imx: support output polarity inversion

The i.MX pwm unit on i.MX27 and newer SoCs provides a configurable
output polarity. This patch adds support to utilize this feature where

6 years agopwm: imx: indentation cleanup
Lothar Waßmann [Thu, 12 Jun 2014 11:37:59 +0000 (13:37 +0200)]
pwm: imx: indentation cleanup

6 years agopwm: make the PWM_POLARITY flag in DTB optional
Lothar Waßmann [Thu, 12 Jun 2014 11:37:52 +0000 (13:37 +0200)]
pwm: make the PWM_POLARITY flag in DTB optional

Change the pwm chip driver registration, so that a chip driver that
supports polarity inversion can still be used with DTBs that don't
provide the 'PWM_POLARITY' flag.

This is done to provide polarity inversion support for the pwm-imx
driver without having to modify all existing DTS files.

6 years agopwm: print error messages with pr_err() instead of pr_debug()
Lothar Waßmann [Thu, 12 Jun 2014 11:34:42 +0000 (13:34 +0200)]
pwm: print error messages with pr_err() instead of pr_debug()

6 years agoarm: defconfig: tx6: disable SATA, since the ahci_imx driver has problems with suspen...
Lothar Waßmann [Thu, 3 Jul 2014 12:43:17 +0000 (14:43 +0200)]
arm: defconfig: tx6: disable SATA, since the ahci_imx driver has problems with suspend/resume

6 years agomxc: vpu: add missing mutex_init() call
Lothar Waßmann [Thu, 3 Jul 2014 12:00:32 +0000 (14:00 +0200)]
mxc: vpu: add missing mutex_init() call

6 years agopwm-backlight:
Lothar Waßmann [Thu, 12 Jun 2014 11:38:54 +0000 (13:38 +0200)]

commit 257462dbf3ed pwm-backlight: switch to gpiod interface
introduced a regression leading to acquiring a bogus GPIO-0 when
configured from DT without an 'enable-gpios' property.
The driver will happily accept the 0 initialized 'enable_gpio' member
of the struct platform_pwm_backlight_data as valid gpio number, and
request this GPIO as enable pin. In case of multiple driver instances,
the second will fail to register with the error message:
pwm-backlight backlight1.23: failed to request GPIO#0: -16

Fix this by setting enable_gpio in the pdata struct to -EINVAL.

6 years agoarm: defconfig: remove KERNEL_LZO
Lothar Waßmann [Wed, 2 Jul 2014 12:58:01 +0000 (14:58 +0200)]
arm: defconfig: remove KERNEL_LZO

6 years agoARM: imx6: add defconfig for Ka-Ro TX6 modules
Lothar Waßmann [Tue, 24 Jun 2014 12:35:49 +0000 (14:35 +0200)]
ARM: imx6: add defconfig for Ka-Ro TX6 modules

6 years agoKARO: cleanup after merge of Freescale 3.10.17 stuff
Lothar Waßmann [Thu, 19 Jun 2014 08:18:37 +0000 (10:18 +0200)]
KARO: cleanup after merge of Freescale 3.10.17 stuff

6 years agoARM: dts: imx6-tx6*: fix 'flexcan' labels
Lothar Waßmann [Mon, 16 Jun 2014 10:28:23 +0000 (12:28 +0200)]
ARM: dts: imx6-tx6*: fix 'flexcan' labels

6 years agoARM: dts: update Ka-Ro DTS files
Lothar Waßmann [Fri, 13 Jun 2014 13:39:34 +0000 (15:39 +0200)]
ARM: dts: update Ka-Ro DTS files

6 years agoarm: dts: imx6qdl: add clock to kpp
Lothar Waßmann [Fri, 13 Jun 2014 13:39:05 +0000 (15:39 +0200)]
arm: dts: imx6qdl: add clock to kpp


6 years agoMXC IPUv3 fb: promote error codes from called functions
Lothar Waßmann [Fri, 13 Jun 2014 13:37:47 +0000 (15:37 +0200)]
MXC IPUv3 fb: promote error codes from called functions

6 years agoMXC IPUv3 fb: convert bogus memcpy() to strlcpy()
Lothar Waßmann [Fri, 13 Jun 2014 13:37:17 +0000 (15:37 +0200)]
MXC IPUv3 fb: convert bogus memcpy() to strlcpy()

6 years agoMXC IPUv3 fb: remove bogus type casts
Lothar Waßmann [Fri, 13 Jun 2014 13:36:30 +0000 (15:36 +0200)]
MXC IPUv3 fb: remove bogus type casts


6 years agovideo: mxc_lcdif: add support for Glyn Family Concept Displays
Lothar Waßmann [Fri, 13 Jun 2014 13:35:33 +0000 (15:35 +0200)]
video: mxc_lcdif: add support for Glyn Family Concept Displays

6 years agovideo: mxc_lcdif: indentation cleanup
Lothar Waßmann [Fri, 13 Jun 2014 13:35:10 +0000 (15:35 +0200)]
video: mxc_lcdif: indentation cleanup

6 years agovideo: mxc_lcdif: convert dev_dbg() to dev_err() for error messages
Lothar Waßmann [Fri, 13 Jun 2014 13:34:49 +0000 (15:34 +0200)]
video: mxc_lcdif: convert dev_dbg() to dev_err() for error messages


6 years agoupdated Ka-Ro DTS files;LVDS display works
Lothar Waßmann [Wed, 11 Jun 2014 15:48:48 +0000 (17:48 +0200)]
updated Ka-Ro DTS files;LVDS display works


6 years agoarm: tx6:
Oliver Wendt [Wed, 11 Jun 2014 08:56:24 +0000 (10:56 +0200)]
arm: tx6:
added TX6 dts[i] files to fsl yocto kernel
edited Makefile to include tx6u-801x
mapped FSL sabresd DT structure to TX6-801x dts file


6 years agocleanup after merge of FSL 3.10.17 tree
Lothar Waßmann [Tue, 17 Jun 2014 07:10:20 +0000 (09:10 +0200)]
cleanup after merge of FSL 3.10.17 tree

6 years agonet: fec: reset PHY in the probe() function rather when opening the net device
Lothar Waßmann [Mon, 16 Jun 2014 10:28:23 +0000 (12:28 +0200)]
net: fec: reset PHY in the probe() function rather when opening the net device

This fixes an intermittent failure to detect the PHY.

6 years agoENGR00306992 Revert "ENGR00302036-3 gpu:gpu2d may cause bus hang in some corner case"
Loren Huang [Fri, 4 Apr 2014 05:26:22 +0000 (13:26 +0800)]
ENGR00306992 Revert "ENGR00302036-3 gpu:gpu2d may cause bus hang in some corner case"

This reverts commit 563931094bf096da2ce6f2cc40387f9e726b3342.

That patch causes wrong blitting and will block GA release

Date: Apr 04, 2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
6 years agoENGR00306257 [#1027]fix system hang up issue caused by GPU
Richard Liu [Tue, 1 Apr 2014 01:58:49 +0000 (09:58 +0800)]
ENGR00306257 [#1027]fix system hang up issue caused by GPU

This issue happens when multiple thread is trying to idle GPU at the
same time, root cause is some wrong logic related with powerMutex which
cause cpu still access GPU AHB register after GPU is suspend(clock off),
that cause the bus lockup and make the whole system hang.

Signed-off-by: Richard Liu <r66033@freescale.com>
Acked-by: Jason Liu
(cherry picked from commit d48e52700c4177e94695cdbdb480cb38a88a5ddc)

6 years agoENGR00302036-3 gpu:gpu2d may cause bus hang in some corner case
Loren Huang [Thu, 27 Mar 2014 06:13:31 +0000 (14:13 +0800)]
ENGR00302036-3 gpu:gpu2d may cause bus hang in some corner case

Vivante patch name:

-Updated the outstanding request limit to 12.
-Refined the 2D chip feature check.
-Refine the 2D cache flush operation
(avoid FE and PE access memory through the same port).
-Enable cache flush for filterblt.
-Dynamic enabling SPLIT_RECT by checking chip feature(disable for us)
-Use brush stretch blt for clear operation.

Date: Mar 26, 2014

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
6 years agoENGR00303820 [#887] refine physical address check for external memory
Xianzhong [Tue, 18 Mar 2014 12:40:59 +0000 (20:40 +0800)]
ENGR00303820 [#887] refine physical address check for external memory

2G above address will cause system reboot and fixed in original patch,
error check code is added based on the original logic.

Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
(cherry picked from commit 7d85c98bf781eb047c2000bd82ea7559c24a2446)
(cherry picked from commit 04911cf737a4a40e7914ad94fd58bf92dcfa4a92)

6 years agoENGR00303200 [IPU Split] - Vertical line in downsaled image with ratio less 2
Oliver Brown [Wed, 12 Mar 2014 16:21:02 +0000 (11:21 -0500)]
ENGR00303200 [IPU Split] - Vertical line in downsaled image with ratio less 2

The optimal resize ratio should be used if the downscaler is not needed. This
will fix a vertical line in the center for some scaling ratios.

Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
6 years agoENGR00303663 mxc v4l2 capture: Don't return error if we cannot get mipi csi2
Liu Ying [Mon, 17 Mar 2014 03:28:53 +0000 (11:28 +0800)]
ENGR00303663 mxc v4l2 capture: Don't return error if we cannot get mipi csi2

The mipi csi2 code is ugly present in the capture pipeline setup/disable
routions with '#ifdef CONFIG_MXC_MIPI_CSI2/#endif' protected.  Whenever
it finds mipi_csi2_info is not gotten correctly, it will return error to
callers.  This breaks the normally routines in which mipi csi2 is not used
and mipi csi2 driver is disabled in its devicetree node(but with the
Kconfig CONFIG_MXC_MIPI_CSI2 defined).  A real example is the capture
feature on the MX6 Sabreauto platforms.  We have only parallel CSI input
on it and the mipi csi2 driver is disabled in its devicetree node but with
the Kconfig CONFIG_MXC_MIPI_CSI2 defined.  So, a reasonable choice at present
is not to return error if mipi_csi2_info cannot be gotten, though we could
eventually re-organize the capture code for a better total solution in the

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 8133b7fd26e8b068fa8ab9cd62eae090c76080be)

6 years agoENGR00243315-4 MXC V4L2 Capture:Improve debug info for s_std
Liu Ying [Fri, 8 Mar 2013 08:55:37 +0000 (16:55 +0800)]
ENGR00243315-4 MXC V4L2 Capture:Improve debug info for s_std

commit f8e1a3bb62eecf93a31a51c4dbe08a0214fa1d57 introduced an
annoying kernel log by changing a pure debug info to error level.
This patch reverts that change.



Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit b635fadfdff01d0f6112956ac903d80c62fd648b)

6 years agoENGR00243315-3 MXC V4L2 Capture:Remove unnecessary mclk setting
Liu Ying [Fri, 8 Mar 2013 08:44:41 +0000 (16:44 +0800)]
ENGR00243315-3 MXC V4L2 Capture:Remove unnecessary mclk setting

commit f8e1a3bb62eecf93a31a51c4dbe08a0214fa1d57 added a hard
coding for csi_parma.mclk setting to 27MHz. The comment added by
that commit is totally wrong by telling that csi_param.mclk
would be a kind of 'pixel clock' set in 'csi_data_dest' register.
This patch removes the unnecessary mclk setting for csi_param.mclk
variable, since it is only valid for CSI test mode.



Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit bb5afd554c50b639f1e1b94481b24f35ae8c4dc5)

6 years agoENGR00243315-2 IPUv3 CSI:Remove test mode clock setting
Liu Ying [Fri, 8 Mar 2013 08:33:35 +0000 (16:33 +0800)]
ENGR00243315-2 IPUv3 CSI:Remove test mode clock setting

This patch removes test mode clock setting in function
ipu_csi_init_interface(), since the setting is only
necessary for function _ipu_csi_set_test_generator().
This unnecessary setting is added wrongly by commit

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 0f395a7aecfd2845df384c7a5a0045c86c3a2e20)

6 years agoENGR00243315-1 IPUv3 CSI:Correct CCIR code1/2 for PAL and NTSC
Liu Ying [Fri, 8 Mar 2013 08:01:48 +0000 (16:01 +0800)]
ENGR00243315-1 IPUv3 CSI:Correct CCIR code1/2 for PAL and NTSC

We reversed CCIR code1/2 setting before, which may brings
captured frame quality issue(jaggy edge can be seen). This
patch revert that change.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit a4c2228f5428af02b9be87114d096340f9b58083)

6 years agoENGR00298127-1 ARM: dtsi: imx6qdl sabreauto: Remove v4l2_cap_1 node
Liu Ying [Fri, 14 Mar 2014 09:26:28 +0000 (17:26 +0800)]
ENGR00298127-1 ARM: dtsi: imx6qdl sabreauto: Remove v4l2_cap_1 node

As the sabreauto CPU board schematics mentions, the MIPI connector
isn't mechanically compatible with Freescale MIPI display and camera
board, then we have only the parallel CSI video input that is supported
by the v4l2_cap_0 node.  So, let's remove the orphan one - v4l2_cap_1.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 1396bc28eac7e968e278a9ce36cdc7a44b0417bd)

6 years agoENGR00301095 gpu:gpu hang when dma memory is used up
Loren Huang [Thu, 27 Feb 2014 07:44:49 +0000 (15:44 +0800)]
ENGR00301095 gpu:gpu hang when dma memory is used up

When dma zone memory used up, gckOS_AllocateNonPagedMemory() will try to
free non paged memory cache and allocate again. Such operation will cause
 twice memory mutex request and cause gpu driver hang.

The solution is free the memory mutex at first before trying to free non
paged memory cache.

Date: Feb 27, 2014
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
(cherry picked from commit 79ed8edd23f990f6c1429154c2ee773c83bfd72e)

6 years agoENGR00290659 IPUv3: Fix a flashing vert. line when downsizing 1080i to 300x400.
Oliver Brown [Wed, 19 Feb 2014 23:32:48 +0000 (17:32 -0600)]
ENGR00290659 IPUv3: Fix a flashing vert. line when downsizing 1080i to 300x400.

When split mode deinterlacing is the ipu_calc_stripes_sizes() was failing due
to an unnecessary test. Added logic to use the maximal_stripe_width only if
the flag parameter has the bit 0 clear for not equal stripe sizes.

Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
6 years agoENGR00299756-4 ASoC: imx-cs42888: Use ESAI LEFT_J master mode
Nicolin Chen [Tue, 18 Feb 2014 13:06:05 +0000 (21:06 +0800)]
ENGR00299756-4 ASoC: imx-cs42888: Use ESAI LEFT_J master mode

This patch sets ESAI as LEFT_J format master so as to let ESAI provide bit
clock and frame clock for stability.

Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
(cherry picked from commit 38df16f71c95e2aa8e0b4c1ddd2ed7ec2c4fef4b)

6 years agoENGR00298052-2 Documentation: video: add Hannstar CABC dt bindings
Liu Ying [Tue, 18 Feb 2014 05:19:12 +0000 (13:19 +0800)]
ENGR00298052-2 Documentation: video: add Hannstar CABC dt bindings

This patch documents the Hannstar CABC driver's device tree bindings.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 0a6b9cf8548ffe03b8df494d08bece54ef3e528e)

6 years agoENGR00296519 USB: EHCI: wait more than 3ms until the device enters full-speed idle
Peter Chen [Fri, 24 Jan 2014 06:59:30 +0000 (14:59 +0800)]
ENGR00296519 USB: EHCI: wait more than 3ms until the device enters full-speed idle

If the high-speed device does not enter full-speed idle after
wakeup on disconnect logic has effected, there will be an
unexpected disconnect wakeup interrupt due to the bus is still SE0.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
6 years agoENGR00296050 mxsfb: fb failed to work after suspend in console mode
Sandor Yu [Wed, 22 Jan 2014 07:09:37 +0000 (15:09 +0800)]
ENGR00296050 mxsfb: fb failed to work after suspend in console mode

When device boot into console, frame buffer failed to work after
That is caused by LCDIF IP lost all registers configuration
in suspend mode, and console didn't reconfiguration fb after resume.
Same issue didn't found with Yocto UI.
Reinitialize frame buffer driver after resume to fix the issue.

Signed-off-by: Sandor Yu <R01008@freescale.com>
6 years agoENGR00295201 ipuv3: vdic: kernel dump when run deinterlace stress test
Sandor Yu [Wed, 15 Jan 2014 08:50:04 +0000 (16:50 +0800)]
ENGR00295201 ipuv3: vdic: kernel dump when run deinterlace stress test

Kernel will dump when run deinterlace stress test.
It is caused by vditmpbuf being reallocated by another thread
when one thread accesses it.
Issue is fixed by putting these code in mutex.

Kernel dump log:
[Playing  ][Vol=01][00:00:10/00:00:30][fps:32]Unable to handle kernel
paging request at virtual address 607d6085
pgd = 80004000
[607d6085] *pgd=00000000
Internal error: Oops: 5 [#1] SMP ARM
Modules linked in:
CPU: 0 PID: 50 Comm: ipu2_task Not tainted 3.10.17-02308-g3700819 #28
task: ac1dc700 ti: ac1ba000 task.ti: ac1ba000
PC is at __kmalloc+0x40/0x114
LR is at __kmalloc+0x14/0x114
pc : [<800bbd40>]    lr : [<800bbd14>]    psr: 200f0013
sp : ac1bbbc8  ip : 008cc000  fp : 00001e40
r10: ac772e00  r9 : 0057b255  r8 : 000000d0
r7 : 00000790  r6 : ac773800  r5 : 607d6085  r4 : ac001b00
r3 : 00000000  r2 : 814f92a0  r1 : 000000d0  r0 : 000398c9
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c53c7d  Table: 3c4c004a  DAC: 00000015
Process ipu2_task (pid: 50, stack limit = 0xac1ba238)
Stack: (0xac1bbbc8 to 0xac1bc000)

Signed-off-by: Sandor Yu <R01008@freescale.com>
6 years agoENGR00293488 ipu: vdi: Support more memory type
Sandor Yu [Fri, 27 Dec 2013 09:10:03 +0000 (17:10 +0800)]
ENGR00293488 ipu: vdi: Support more memory type

__va function only can handle frame buffer from low memory.
Use page_address function to replace it, that can handle
frame buffer from both lower and high memory.

Use ioremap_nocache function to handle Frame buffer
from GPU reserve memory pool.

Correct vdi data save buffer size, save both luma and chroma part for
interleaved YUV format.
For non-interleaved and partial-interleaved YUV format,
save luma part data, chroma part is not covered in the patch.

Signed-off-by: Sandor Yu <R01008@freescale.com>
6 years agoENGR00295892-1: leds: leds-gpio: keep charger led state while system suspended
Robin Gong [Tue, 21 Jan 2014 02:41:46 +0000 (10:41 +0800)]
ENGR00295892-1: leds: leds-gpio: keep charger led state while system suspended

gpio-leds driver common framework didn't take care of this case if use CONFIG_OF
, add property "retain-state-suspended" in dts and check it while gpio-leds
device created.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 118c650de0bb518d377b0e6427b38fc101fe31aa)

6 years agoENGR00295570 ARM: imx_v7_defconfig: enlarge the CMA size from 256MB to 320MB
Jason Liu [Fri, 17 Jan 2014 07:19:01 +0000 (15:19 +0800)]
ENGR00295570 ARM: imx_v7_defconfig: enlarge the CMA size from 256MB to 320MB

In order to support the dual video use-case, the current CMA reserved size is
not enough now, need enlarge the CMA size from 256M to 320M by default.

Signed-off-by: Jason Liu <r64343@freescale.com>
6 years agoENGR00295218-3 gpu:Remove a potential deadlock in gpu vg kernel.
Loren Huang [Thu, 16 Jan 2014 08:28:54 +0000 (16:28 +0800)]
ENGR00295218-3 gpu:Remove a potential deadlock in gpu vg kernel.

-If _FlushMMU() return error, commitMutex and powerSemaphore will be
locked forever.
-Correct file attribute for gc_hal_base.h

Date: Jan 15, 2014

Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Shawn Guo
(cherry picked from commit 0279fa8984dac78c289d264450c76e1156b3ac79)