linux.git
5 years agoMLK-21700-3 imx8mm: Switch to imx8m_clk_composite
Leonard Crestez [Fri, 3 May 2019 15:52:00 +0000 (18:52 +0300)]
MLK-21700-3 imx8mm: Switch to imx8m_clk_composite

This is a large change but realigns us with upstream is useful and make
git diff useful.

This was already done on imx8mq after that SOC was upstreamed.

Mixing dts and driver changes is intentional because changes only
compile together.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Abel Vesa <abel.vesa@nxp.com>
5 years agoMLK-21700-2 clk: imx8mm: Move imx8mm_clko1_sels higher like upstream
Leonard Crestez [Fri, 3 May 2019 15:51:25 +0000 (18:51 +0300)]
MLK-21700-2 clk: imx8mm: Move imx8mm_clko1_sels higher like upstream

No functional changes

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Abel Vesa <abel.vesa@nxp.com>
5 years agoMLK-21700-1 clk: imx8mm: Rename int_pll to pll14xx for upstream alignment
Leonard Crestez [Fri, 3 May 2019 15:47:01 +0000 (18:47 +0300)]
MLK-21700-1 clk: imx8mm: Rename int_pll to pll14xx for upstream alignment

Only cosmetic changes in this patch

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Abel Vesa <abel.vesa@nxp.com>
5 years agoMLK-20125 ata: imx: add one ext_osc parameter for imx8qm ahci
Richard Zhu [Tue, 30 Oct 2018 07:20:50 +0000 (15:20 +0800)]
MLK-20125 ata: imx: add one ext_osc parameter for imx8qm ahci

Add one parameter to distinguish the different ref_clk
source, internal pll or the external osc.
NOTE: The value of the ext_osc should be aligned to the one
of the pcie's, since both of them share one ref_clk source.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
5 years agoMLK-15064-2 ARM64: DMA: limit the dma mask to be 32bit
Richard Zhu [Tue, 14 May 2019 08:28:15 +0000 (16:28 +0800)]
MLK-15064-2 ARM64: DMA: limit the dma mask to be 32bit

Limit the dma mask to be 32bit, because that
the imx8 doesn't have the 64bit dma capapbility
although it is 64bit soc.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Frank Li <frank.li@nxp.com>
5 years agoMLK-21690 clk: imx8qm/imx8qxp: Store clock rate in SCU clock driver
Ranjani Vaidyanathan [Thu, 9 May 2019 21:10:39 +0000 (16:10 -0500)]
MLK-21690 clk: imx8qm/imx8qxp: Store clock rate in SCU clock driver

Linux clock framework does not work correctly when the SCFW API returns
the rate of the clock based on the HW power mode (LP vs ON).
This causes issues in two ways:
1. Linux clock framework always calls clk_recalc() after set_rate() as
a mechanism to get the actual rate set by the HW. This does not work on
iMX8QM/iMX8QXP when the resource is in LP mode, as clocks are sourced
from 24MHz when resource is in LP mode.

2. On iMX8QM/iMX8QXP multiple resources share the same power domain.
As resources enter runtime idle, the iMXQM/QXP power domain driver in
Linux sets the resources in LP mode which can result in the entire power
domain entering LP mode. If a clock get_rate()/recalc_rate() is executed
as part of probing a new driver, the rate returned by SCFW API will not
match the rate requested by the driver.

To fix the above two problems, store the clock rate in SCU driver and
return the stored clock rate if the resource is in LP mode.

Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
5 years agoMLK-21693: VPU Decoder: don't steal any frame buffer when abort stream
ming_qian [Tue, 14 May 2019 08:21:02 +0000 (16:21 +0800)]
MLK-21693: VPU Decoder: don't steal any frame buffer when abort stream

Now driver may steal 3 frame buffers when abort.
It's a high risk behavior. And it has caused some bug.
But in firmware, there is no concept of stealing buffers.
So it is possible that driver don't steal any frame buffer
when abort stream

Signed-off-by: ming_qian <ming.qian@nxp.com>
5 years agoMLK-21289 perf: ddr-perf: calculate ddr bandwidth via virtual event read-bytes/write...
Joakim Zhang [Tue, 7 May 2019 05:11:14 +0000 (13:11 +0800)]
MLK-21289 perf: ddr-perf: calculate ddr bandwidth via virtual event read-bytes/write-bytes

We can calculate ddr bandwidth via virtual event read-bytes/write-bytes based
on ddr burst width, which actually share event read-cycles/write-cycles. Burst
width is 32bit on i.MX8 board till now.

The ddr interface will generate 2 up edges and 2 down edges in an internal
clock cycle, so it can pass 4 beats of data. 4 bytes of each beat if ddr
burst width is 32 bit.

Cmd bellow:
perf stat -a -e ddr0/read-bytes/ ls
perf stat -a -e ddr0/write-bytes/ ls

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
5 years agoMLK-21137 perf: ddr-perf: correct the range of the For loop
Joakim Zhang [Wed, 13 Mar 2019 06:56:56 +0000 (14:56 +0800)]
MLK-21137 perf: ddr-perf: correct the range of the For loop

The variable "total_event" should be 4 when we open 4 perf event, then
active_events[4] will out of range.

Acked-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
5 years agoMLK-21603 rpmsg: imx_rpmsg: Fix to stop autoload modules
Arulpandiyan Vadivel [Thu, 9 May 2019 12:17:36 +0000 (17:47 +0530)]
MLK-21603 rpmsg: imx_rpmsg: Fix to stop autoload modules

This change stops autoloading imx_rpmsg_tty and imx_rpmsg_pingpong
modules, as it is only meant for testing / demo purposes.

Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
5 years agoMLK-21528-3 arm64: dts: imx8: Remove leading 0x from unit names
Leonard Crestez [Thu, 2 May 2019 14:00:07 +0000 (17:00 +0300)]
MLK-21528-3 arm64: dts: imx8: Remove leading 0x from unit names

This fixes dtc warnings when building at W=1

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Acked-by: Dong Aisheng <aisheng.dong@nxp.com>
5 years agoMLK-21528-2 arm64: dts: imx8: Fix dpu DT warnings at W=1
Leonard Crestez [Thu, 2 May 2019 16:51:40 +0000 (19:51 +0300)]
MLK-21528-2 arm64: dts: imx8: Fix dpu DT warnings at W=1

Add reg and address/size-cells where appropriate

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Acked-by: Liu Ying <victor.liu@nxp.com>
5 years agoMLK-21528-1 arm64: dts: fsl-imx8qm-mek-domu-car: Fix endpoint name warning
Leonard Crestez [Thu, 2 May 2019 10:24:24 +0000 (13:24 +0300)]
MLK-21528-1 arm64: dts: fsl-imx8qm-mek-domu-car: Fix endpoint name warning

Rename to endpoint@0 and endpoint@1 to fix default DT warning.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Acked-by: Liu Ying <victor.liu@nxp.com>
5 years agoMLK-21682-4 arm64: dts: imx8m: Remove domain-id from gpc-psci
Leonard Crestez [Wed, 8 May 2019 22:19:04 +0000 (01:19 +0300)]
MLK-21682-4 arm64: dts: imx8m: Remove domain-id from gpc-psci

We can rely on the reg property instead and be more compliant with DT
rules.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Acked-by: Jacky Bai <ping.bai@nxp.com>
5 years agoMLK-21682-3 soc: imx: gpc-psci: Use reg property instead of domain-id
Leonard Crestez [Wed, 8 May 2019 22:16:37 +0000 (01:16 +0300)]
MLK-21682-3 soc: imx: gpc-psci: Use reg property instead of domain-id

We can use the standard DT "reg" property instead of defining our
own "domain-id"

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Acked-by: Jacky Bai <ping.bai@nxp.com>
5 years agoMLK-21682-2 arm64: dts: imx8mq: Fix DT warnings from power domains
Leonard Crestez [Thu, 2 May 2019 13:58:34 +0000 (16:58 +0300)]
MLK-21682-2 arm64: dts: imx8mq: Fix DT warnings from power domains

Move under a power-domains node, add reg properties and rename
everything to power-domain@X

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Acked-by: Jacky Bai <ping.bai@nxp.com>
5 years agoMLK-21682-1 arm64: dts: imx8mm: Add reg properties to power-domain nodes
Leonard Crestez [Thu, 2 May 2019 13:57:40 +0000 (16:57 +0300)]
MLK-21682-1 arm64: dts: imx8mm: Add reg properties to power-domain nodes

This fixes DT warnings at W=1

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Acked-by: Jacky Bai <ping.bai@nxp.com>
5 years agoMGS-4796 [#imx-1263] fix false hang for device cooling
Xianzhong [Wed, 8 May 2019 15:27:20 +0000 (23:27 +0800)]
MGS-4796 [#imx-1263] fix false hang for device cooling

GPU frequency will be set as 1/64 of original clock,
update timeout with freq-scaler to avoid false hang.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
5 years agocrypto: caam - fix pkcs1pad(rsa-caam, sha256) failure because of invalid input
Iuliana Prodan [Thu, 9 May 2019 12:20:50 +0000 (15:20 +0300)]
crypto: caam - fix pkcs1pad(rsa-caam, sha256) failure because of invalid input

The problem is with the input data size sent to CAAM for encrypt/decrypt.
Pkcs1pad is failing due to pkcs1 padding done in SW starting with0x01
instead of 0x00 0x01.
CAAM expects an input of modulus size. For this we strip the leading
zeros in case the size is more than modulus or pad the input with zeros
until the modulus size is reached.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agoMLK-21687 media: camera: ov5640: add device tree support
Robby Cai [Thu, 9 May 2019 13:50:58 +0000 (21:50 +0800)]
MLK-21687 media: camera: ov5640: add device tree support

add ov5640 (parallel and mipi interface) device tree support to help load module
at booting time when it's compiled as module.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
5 years agoMMFMWK-8489: VPU Decoder: make sure the output timestamp is increasing
ming_qian [Fri, 10 May 2019 01:12:26 +0000 (09:12 +0800)]
MMFMWK-8489: VPU Decoder: make sure the output timestamp is increasing

If there are some repetitive timestamp,
the output timestamp may be not increasing.
In such case, the gstreamer avsync will not work.
So keep the output timestamp increasing will fix it.

Signed-off-by: ming_qian <ming.qian@nxp.com>
5 years agoMLK-21656-2 drm/imx: dpu: crtc: Tune enablement sequence to correctly switch Tcon...
Liu Ying [Tue, 7 May 2019 03:02:18 +0000 (11:02 +0800)]
MLK-21656-2 drm/imx: dpu: crtc: Tune enablement sequence to correctly switch Tcon mode

As suggested by the design team, there is rigorous timing requirement
to address TKT320590, that is, we need to turn Tcon(s) from bypass mode
into operation mode as soon as the first dumb frame is generated by DPU.
When dual stream is used, we should look at the first dumb frame generated
by the master FrameGen.  If we cannot ensure the timing requirement, say
the Tcon mode switching takes place after the second frame is generated
by DPU, the hardware could run into malfunction sometimes.  Based on
stress tests, the content shadow load done event for the first time we call
->atomic_flush() may not come after the CRTC enablement in the single
stream case and it looks like display data is not generated to the
down-stream encoder(hence, black screen).  This patch tunes enablement
sequence to correctly switch Tcon mode, according to the design team's
suggestions.  During the switching, we don't relinquish CPU to ensure the
sequence is straightforward to meet the timing requirement.  As we cannot
sleep during the switching, we take the pixel link enablement/disablement
operations(wrapped by a mutex in RPC call) out of framegen_enable/disable()
functions and put them at appropriate place.  This introduces additional
sequence modifications but should be safe.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
5 years agoMLK-21656-1 gpu: imx: dpu: Access regs in display engine units wo holding mutex
Liu Ying [Tue, 7 May 2019 02:35:55 +0000 (10:35 +0800)]
MLK-21656-1 gpu: imx: dpu: Access regs in display engine units wo holding mutex

We don't need holding mutex when accessing registers in display engine
units, because KMS is the only relevant client driver and it has ww mutex
mechansim to ensure there is no race condition on the CRTC resources.
Also, we are naturally safe when the driver initializes the units at the
probe and system power management stages.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
5 years agoMLK-21684 VPU Decoder: add new v4l2_g_ctrl to supply
Shijie Qin [Thu, 9 May 2019 10:23:16 +0000 (18:23 +0800)]
MLK-21684 VPU Decoder: add new v4l2_g_ctrl to supply
    color aspect info

    #define V4L2_CID_USER_FRAME_COLORDESC       (V4L2_CID_USER_BASE + 0x1104)
    #define V4L2_CID_USER_FRAME_TRANSFERCHARS   (V4L2_CID_USER_BASE + 0x1105)
    #define V4L2_CID_USER_FRAME_MATRIXCOEFFS    (V4L2_CID_USER_BASE + 0x1106)
    #define V4L2_CID_USER_FRAME_FULLRANGE       (V4L2_CID_USER_BASE + 0x1107)
    #define V4L2_CID_USER_FRAME_VUIPRESENT      (V4L2_CID_USER_BASE + 0x1108)

    refine code of v4l2 contrl function

Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
5 years agoMLK-21480: ASoC: wm8962: add constrain for configure bclk
Shengjiu Wang [Thu, 9 May 2019 10:37:52 +0000 (18:37 +0800)]
MLK-21480: ASoC: wm8962: add constrain for configure bclk

There is error log when suspend & resume

wm8962 3-001a: Failed to read DSPCLK: -1

when suspend the pm_runtime_suspend is called before the
set_bias_level. so in the wm8962_configure_bclk there is
failure when trying to read a volatile register for we have
enabled regcache_cache_only.

To avoid such issue, we can avoid to call set_bias_level
when the level change from SND_SOC_BIAS_ON to
SND_SOC_BIAS_PREPARE, for this flow is for disabling the codec.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5 years agoMGS-4735 [#imx-1439] fix gpu suspend/resume stuck
Xianzhong [Thu, 9 May 2019 14:36:14 +0000 (22:36 +0800)]
MGS-4735 [#imx-1439] fix gpu suspend/resume stuck

L4.19 SCFW introduced LP mode, clk_set requires power-on,
fixed GPU govern to conform with the latest SCFW change.
remove redundant clk_set_rate in probe to fix LP clock.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
5 years agoMLK-17089-6: ASoC: wm8962: support suspend & resume for imx8
Shengjiu Wang [Wed, 6 Dec 2017 02:48:20 +0000 (10:48 +0800)]
MLK-17089-6: ASoC: wm8962: support suspend & resume for imx8

Base on latest power management design in MLK-17074, every driver
need to enter runtime suspend state in suspend, so the driver should
call the pm_runtime_force_suspend in suspend.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit b1003fc0341910b3e5fc94e5e04bed9ecfdb786d)

5 years agoMLK-21623: ASoC: ak4458: add return value for ak4458_probe
Viorel Suman [Thu, 9 May 2019 09:37:43 +0000 (12:37 +0300)]
MLK-21623: ASoC: ak4458: add return value for ak4458_probe

There is ak4458 audio card even no audio board connected, which
is caused by there is no error return value even the i2c access
failed.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoARM64: dts: imx8mq-evk: specify spdif pll8k and pll11k clocks
Viorel Suman [Mon, 6 May 2019 10:38:44 +0000 (13:38 +0300)]
ARM64: dts: imx8mq-evk: specify spdif pll8k and pll11k clocks

In imx8mq-evk DTS both AUDIO PLL rates are configured, so SPDIF1
pll8k and pll11k clocks can be set accordingly.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-17370 video: fbdev: mxc_edid: change '640x480' mode clock
Fancy Fang [Mon, 15 Jan 2018 07:34:13 +0000 (15:34 +0800)]
MLK-17370 video: fbdev: mxc_edid: change '640x480' mode clock

For the '640x480' cea mode, change the 'pixclock' from
39722 ps to 39683 ps to satisfy the imx7ulp hdmi display
requirement.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 6ab4068aa1770dce623de70afb05978eade69304)

5 years agoMLK-21655-2:VPU Decoder:fix improper write permission
ming_qian [Thu, 9 May 2019 01:09:59 +0000 (09:09 +0800)]
MLK-21655-2:VPU Decoder:fix improper write permission

Signed-off-by: ming_qian <ming.qian@nxp.com>
5 years agocrypto: caam - fix copy of next buffer for xcbc and cmac
Iuliana Prodan [Fri, 22 Mar 2019 12:12:30 +0000 (14:12 +0200)]
crypto: caam - fix copy of next buffer for xcbc and cmac

Fix a side effect of adding xcbc support, when the next_buffer is not
copied.
The issue occurs, when there is stored from previous state a blocksize
buffer and received, a less than blocksize, from user. In this case, the
nents for req->src is 0, and the next_buffer is not copied.
An example is:
{
.tap = { 17, 15, 8 },
.psize = 40,
.np = 3,
.ksize = 16,
}

Fixes: 12b8567f6fa4 ("crypto: caam - add support for xcbc(aes)")
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit b4e9e931e9bb2f5b302ce66640832f5a3e57e8c4)

5 years agocrypto: caam - fix DMA mapping xcbc key twice
Horia Geantă [Tue, 19 Feb 2019 14:56:56 +0000 (16:56 +0200)]
crypto: caam - fix DMA mapping xcbc key twice

Fix a side effect of adding xcbc support, which leads to DMA mapping the
key twice.

Fixes: 12b8567f6fa4 ("crypto: caam - add support for xcbc(aes)")
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 8e731ee5e2a5aa37b736c05ee2562e1169af866e)

5 years agocrypto: caam - add support for xcbc(aes)
Iuliana Prodan [Fri, 21 Dec 2018 15:59:10 +0000 (17:59 +0200)]
crypto: caam - add support for xcbc(aes)

Add xcbc(aes) offloading support.

Due to xcbc algorithm design and HW implementation in CAAM,
driver must still have some bytes to send to the crypto engine when
ahash_final() is called - such that HW correctly uses either K2 or K3
for the last block.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 12b8567f6fa489c098024fc75caba2f6b1390a92)

Removed is_mdha() function since it doesn't exist in BSP.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agocrypto: caam - export ahash shared descriptor generation
Horia Geantă [Wed, 12 Sep 2018 08:59:35 +0000 (11:59 +0300)]
crypto: caam - export ahash shared descriptor generation

caam/qi2 driver will support ahash algorithms,
thus move ahash descriptors generation in a shared location.

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 0efa7579f3de1907acd16a358b0ade214b020d77)

Removed CRYPTO_DEV_FSL_DPAA2_CAAM from Kconfig, kept
CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC as it is in BSP

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agocrypto: caam - revert xcbc(aes) support
Iuliana Prodan [Tue, 7 May 2019 12:00:05 +0000 (15:00 +0300)]
crypto: caam - revert xcbc(aes) support

This commit reverts the xcbc(aes) support from BSP to backport it
from upstream.
This reverts commits:
eeb599a4eddc ("MLK-9971 Add XCBC-AES support for CAAM in i.MX6 family")
39fbc513bed5 ("MLK-12312: CAAM hash algorithms fail registration during
initialization")
cfd4431ab014 ("MLK-14611 Fix xcbc unkeyed registration")

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agoMLK-21652 arm: dts: imx6sx-sdb: disable gpio regulator for lcd
Robby Cai [Tue, 7 May 2019 15:03:42 +0000 (23:03 +0800)]
MLK-21652 arm: dts: imx6sx-sdb: disable gpio regulator for lcd

GPIO3_27 is shared by LCD power LCD_3V3 as gpio regulator and the camera as
Reset pin. Need disable the gpio regulator function for LCD, otherwise the
Reset pin for camera can't be requested/used correctly.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
5 years agoMLK-21588: ASoC: imx-wm8962: add missing pm
Shengjiu Wang [Wed, 8 May 2019 05:40:35 +0000 (13:40 +0800)]
MLK-21588: ASoC: imx-wm8962: add missing pm

add missing pm for suspend and resume.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5 years agoMLK-20067 arm64: dts: imx8mm: disable phy eee mode
Fugang Duan [Tue, 7 May 2019 09:26:09 +0000 (17:26 +0800)]
MLK-20067 arm64: dts: imx8mm: disable phy eee mode

Disable PHY eee mode in default to make ptp synchronized time
much more restricted in convergent range.

Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
5 years agoMLK-21663-2 arm64: fsl-imx8qm-device.dtsi: Minimize the range of dpu_intsteer regions
Liu Ying [Tue, 7 May 2019 07:50:26 +0000 (15:50 +0800)]
MLK-21663-2 arm64: fsl-imx8qm-device.dtsi: Minimize the range of dpu_intsteer regions

This patch minimizes the range of dpu_intsteers to
204-byte(from 0x0 to 0xc8) to avoid exposing the
inaccessible registers via debugfs.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
5 years agoMLK-21663-1 arm64: fsl-imx8dx.dtsi: Minimize the range of dpu_intsteer region
Liu Ying [Tue, 7 May 2019 07:50:11 +0000 (15:50 +0800)]
MLK-21663-1 arm64: fsl-imx8dx.dtsi: Minimize the range of dpu_intsteer region

This patch minimizes the range of dpu_intsteer to
204-byte(from 0x0 to 0xc8) to avoid exposing the
inaccessible registers via debugfs.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
5 years agocrypto: caam: fix caam_dump_sg that iterates through scatterlist
Iuliana Prodan [Mon, 6 May 2019 13:13:49 +0000 (16:13 +0300)]
crypto: caam: fix caam_dump_sg that iterates through scatterlist

Fix caam_dump_sg by correctly determining the next scatterlist
entry in the list.

Fixes: 5ecf8ef9103c ("crypto: caam - fix sg dump")
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agoMLK-17089-3: ASoC: wm8960: support suspend & resume for imx8
Shengjiu Wang [Wed, 6 Dec 2017 03:41:03 +0000 (11:41 +0800)]
MLK-17089-3: ASoC: wm8960: support suspend & resume for imx8

Base on latest power management design in MLK-17074, every driver
need to enter runtime suspend state in suspend, so the driver should
call the pm_runtime_force_suspend in suspend.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 9fe0c0ed2490635f06782dccc53306a7ac040e10)

5 years agoMLK-21021: clk: imx8: Fix failure of set parent clock after resume
Shengjiu Wang [Fri, 15 Mar 2019 05:51:49 +0000 (13:51 +0800)]
MLK-21021: clk: imx8: Fix failure of set parent clock after resume

We need to set parent clock for some audio clock in dts,
when the system enter suspend, the whole audio subsystem
may be power off, the parent setting should be lost, so
we need to set CLK_SET_PARENT_NOCACHE flag in imx_clk_mux_scu,
to let the operation of reset parent clock in
drivers/soc/imx/pm-domains.c take effect.

This issue only occurs on imx8qm, not on imx8qxp, for on imx8qxp
the ADMA subsystem don't enter power off, there is other
device in power on state in suspend.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 5e8b48b90effa1aa2b9fbbd8919b131f6ad86946)

5 years agoMLK-21659: VPU Decoder: fix invalid timestamp(-1) may be outputed
ming_qian [Tue, 7 May 2019 05:54:04 +0000 (13:54 +0800)]
MLK-21659: VPU Decoder: fix invalid timestamp(-1) may be outputed

Driver may steal 3 frame buffers to firmware.
In android platform, user may do munmap,
it will cause that driver can't find a frame buffer by physical address
when decoded event is received.
It will cause the TSManagerValid2 isn't called for some frame.
and the TSManagerSend2 may output an invalid timestamp(-1)

Signed-off-by: ming_qian <ming.qian@nxp.com>
5 years agoMLK-21655: VPU Decoder: driver supply an interface to get the firmware
ming_qian [Tue, 7 May 2019 05:09:19 +0000 (13:09 +0800)]
MLK-21655: VPU Decoder: driver supply an interface to get the firmware
log

get the firmware log:
cat /sys/devices/platform/2c000000.vpu_decoder/fwlog

Signed-off-by: ming_qian <ming.qian@nxp.com>
5 years agoMLK-21598: arm64: dts: imx8dx: fix csr reg range
Robert Chiras [Tue, 7 May 2019 07:47:53 +0000 (10:47 +0300)]
MLK-21598: arm64: dts: imx8dx: fix csr reg range

The mipi_dsi_csr register range is wrong in the dts file, causing issues
when trying to read the whole allocated region.
Fix the dts nodes by correctly specifying the address range.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Reviewed-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
5 years agoMLK-21614: arm64: dts: imx8mq: fix dual-display
Robert Chiras [Tue, 7 May 2019 07:44:09 +0000 (10:44 +0300)]
MLK-21614: arm64: dts: imx8mq: fix dual-display

Some nodes were deleted (by mistake) in the lcdif-adv7535.dtsi file,
causing the dcss driver not to be loaded when using dual-display.
Removing the /delete-node/ entries to fix this.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Reviewed-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
5 years agoMLK-21647: drm/mxsfb: Turn off vblanks in disable
Robert Chiras [Tue, 7 May 2019 07:41:03 +0000 (10:41 +0300)]
MLK-21647: drm/mxsfb: Turn off vblanks in disable

The calls to drm_crtc_vblank_on/off should be paired into pipe_enable
and pipe_disable callbacks.
This patch adds the call to drm_crtc_vblank_off in pipe_disable callback.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Reviewed-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
5 years agoMLK-21612 PCI: imx: pcie ep probe failure
Richard Zhu [Tue, 7 May 2019 07:24:19 +0000 (15:24 +0800)]
MLK-21612 PCI: imx: pcie ep probe failure

There is redundant attrs registration in ep's probe.
Maybe introduced by the merge conflication.
Remove them to fix the probe failure.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
5 years agoMLK-21646-2 arm64: fsl-imx8qm-device.dtsi: Minimize the range of LVDS regions
Liu Ying [Mon, 6 May 2019 08:21:14 +0000 (16:21 +0800)]
MLK-21646-2 arm64: fsl-imx8qm-device.dtsi: Minimize the range of LVDS regions

It turns out some registers in the 4K-byte LVDS range starting at 0x1000
as claimed by the memory map documentation are inaccessible based on tests.
Let's minimize the range to 4-byte starting at 0x10e0 to avoid exposing
the inaccessible registers via debugfs.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
5 years agoMLK-21646-1 arm64: fsl-imx8dx.dtsi: Minimize the range of LVDS regions
Liu Ying [Mon, 6 May 2019 08:12:55 +0000 (16:12 +0800)]
MLK-21646-1 arm64: fsl-imx8dx.dtsi: Minimize the range of LVDS regions

It turns out some registers in the 4K-byte LVDS range starting at 0x1000
as claimed by the memory map documentation are inaccessible based on tests.
Let's minimize the range to 4-byte starting at 0x10e0 to avoid exposing
the inaccessible registers via debugfs.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
5 years agoMGS-4783 integrate 6.4.0 beta official version
Xianzhong [Tue, 7 May 2019 14:02:18 +0000 (22:02 +0800)]
MGS-4783 integrate 6.4.0 beta official version

Also enabled commit worker feature for 6.4.0 beta

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
5 years agoMLK-21617: crypto: caam - update SM test error handling
Horia Geantă [Mon, 6 May 2019 08:22:56 +0000 (11:22 +0300)]
MLK-21617: crypto: caam - update SM test error handling

Update SM test module to return an error code in all cases and
based on this print an indication (test passed / failed) to make
test automation easier.

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years ago[i.MX845/VPU]:MLK-21235-3: multi instance encode process fail to resume encoding...
Zhou Peng [Tue, 7 May 2019 04:08:08 +0000 (12:08 +0800)]
[i.MX845/VPU]:MLK-21235-3: multi instance encode process fail to resume encoding during suspend..

Modify 32bits ioctl function, remove wrong conversion between kernel and user space.

Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
(cherry picked from commit 23bde9ab8989b28b209521e0ad9f75fe93534e66)

5 years agoMLK-21554-2 ARM: dts: imx6ull: use nvmem-cells for cpu speed grading
Arulpandiyan Vadivel [Wed, 1 May 2019 06:55:51 +0000 (12:25 +0530)]
MLK-21554-2 ARM: dts: imx6ull: use nvmem-cells for cpu speed grading

Add nvmem-cell support for i.MX6ULL and imx7ulz boards.

Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
5 years agoMLK-21554-1 ARM: dts: imx6sll: Add ocotp support
Arulpandiyan Vadivel [Tue, 30 Apr 2019 15:44:22 +0000 (21:14 +0530)]
MLK-21554-1 ARM: dts: imx6sll: Add ocotp support

Add ocotp support to imx6sll board which helps to fix lowbus freq
issues.

Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
5 years agoMLK-21641 usb: typec: tcpm: cancel delayed work when unregister tcpm
Li Jun [Mon, 6 May 2019 06:17:32 +0000 (14:17 +0800)]
MLK-21641 usb: typec: tcpm: cancel delayed work when unregister tcpm

We may do tcpm port unregister in middle of tcpm state transitions,
if there are delayed works queued, we need cancel them before finish
the tcpm unregsiter.

Reviewed-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
5 years agoMLK-21589-2 VPU Decoder: implement insert decoder header of
Shijie Qin [Mon, 6 May 2019 05:28:49 +0000 (13:28 +0800)]
MLK-21589-2 VPU Decoder: implement insert decoder header of
    RV format for Amphion decoder

    Not add picture header and slice header for RV format if
    it is raw-data

Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
5 years agoMLK-21314: crypto: caam: Fix double creation of debugfs main folder
Franck LENORMAND [Thu, 11 Apr 2019 13:34:43 +0000 (15:34 +0200)]
MLK-21314: crypto: caam: Fix double creation of debugfs main folder

The creation of the root directory for the control driver of
the CAAM was done in enable_jobrings() and in init_debugfs()
stored in the variable dfs_root.

Both calls uses the same arguments hence the second creation
overrides the first one resulting in 2 entries in the debug FS
with the first one empty.

This patch removes the call from enable_jobrings().

The debug folder can be found in /sys/kernel/debug/*caam/ctl.

Fixes: de9807e6e0de (MLK-15473-1: crypto: caam: Add CAAM driver support for iMX8 soc family)
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
5 years agoMLK-21635: ARM: imx6sll-evk: fix clock reparent issue
Shengjiu Wang [Mon, 6 May 2019 06:15:00 +0000 (14:15 +0800)]
MLK-21635: ARM: imx6sll-evk: fix clock reparent issue

There is error log:

[    0.000000] clk: failed to reparent pll4_audio_div to osc: -22
[    0.000000] clk: failed to reparent pll4_audio_div to osc: -22

The reason is that the assigned-clocks is used in imx6sll.dtsi
clks node, so the assigned-clocks in imx6sll-evk.dts will override
the previous one, then cause the reparent error issue.

Redefine the assigned-clocks in imx6sll-evk.dts.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-21627: ASoC: imx-pcm-dma-v2: add debugfs_prefix for platform
Shengjiu Wang [Sun, 5 May 2019 09:07:48 +0000 (17:07 +0800)]
MLK-21627: ASoC: imx-pcm-dma-v2: add debugfs_prefix for platform

There is warning log after switching to component in driver:

[ 3.321645] fsl-sai 30030000.sai: ASoC: Failed to create component debugfs directory

The reason is there is two component attached with one device,
the components' name are same, then creating debugfs for second
component failed.

This patch is to add debugfs_prefix for platform component to fix
the warning issue.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
5 years agoMLK-21530: hdmi: set default video mode
Sandor Yu [Wed, 24 Apr 2019 02:22:44 +0000 (10:22 +0800)]
MLK-21530: hdmi: set default video mode

Set default video mode when driver probe.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
5 years agoMLK-21618 ARM: dts: imx6/imx7: avoid duplicate names in lcdif node
Arulpandiyan Vadivel [Thu, 2 May 2019 09:44:00 +0000 (15:14 +0530)]
MLK-21618 ARM: dts: imx6/imx7: avoid duplicate names in lcdif node

This patch fixes the following warning on various imx boards.

OF: Duplicate name in lcdif@......, renamed to "display#1"

Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
5 years agoMLK-21593 ARM: dts: imx7d fix the typo sound-hdmi node
Arulpandiyan Vadivel [Wed, 1 May 2019 09:35:13 +0000 (15:05 +0530)]
MLK-21593 ARM: dts: imx7d fix the typo sound-hdmi node

Correct hdmi-controller property name in device tree to fix audio
enumeration on imx7d board.

Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
5 years agoMLK-21631 usb: typec: tcpci: Fix build failure
Leonard Crestez [Thu, 2 May 2019 12:50:18 +0000 (15:50 +0300)]
MLK-21631 usb: typec: tcpci: Fix build failure

Fix compilation after porting from imx_4.14.y

Fixes: 3aaf2019e9e1 ("MLK-21368 typec: tcpci: disable irq when system suspend")

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
5 years agoMLK-21549-3 ARM: dts: imx6ull: use fsl,imx6ul-ocotp under ocotp node
Vipul Kumar [Sun, 28 Apr 2019 05:09:32 +0000 (10:39 +0530)]
MLK-21549-3 ARM: dts: imx6ull: use fsl,imx6ul-ocotp under ocotp node

This patch use fsl,imx6ul-ocotp instead of fsl,imx6ull-ocotp under ocotp
node to align with the mainline.

Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
5 years agoMLK-21549-2 ARM: dts: imx6sll: use nvmem-cells for cpu speed grading
Vipul Kumar [Sun, 28 Apr 2019 08:05:36 +0000 (13:35 +0530)]
MLK-21549-2 ARM: dts: imx6sll: use nvmem-cells for cpu speed grading

Use the nvmem-cells binding to read ocotp for imx6sll evk.

Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
5 years agoMLK-21549-1 cpufreq: imx6q: Add support for imx6ulz
Vipul Kumar [Sun, 28 Apr 2019 05:14:11 +0000 (10:44 +0530)]
MLK-21549-1 cpufreq: imx6q: Add support for imx6ulz

This patch add support for imx6ulz board to read the cpu frequency from the
OPP table.

Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
5 years agoMLK-21550 ARM: dts: imx6ul-evk: Remove DRM panel support
Vipul Kumar [Sat, 27 Apr 2019 11:20:18 +0000 (16:50 +0530)]
MLK-21550 ARM: dts: imx6ul-evk: Remove DRM panel support

This patch remove DRM panel support for imx6ul board.

Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit d5d39a1ec12cec0206e995357f8031647b10a763)

5 years agoMLK-21576 Revert "soc: imx: gpc: Do not pass static memory as platform data"
Arulpandiyan Vadivel [Tue, 9 Apr 2019 09:00:29 +0000 (14:30 +0530)]
MLK-21576 Revert "soc: imx: gpc: Do not pass static memory as platform data"

This reverts commit f54e714cfc53b9164d1206f9ee49042195532a51.

This patch breaks the suspend and resume functionality in all imx6 boards.

Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
5 years agoMLK-21445 serial: fsl_lpuart: do HW reset for communication port
Fugang Duan [Fri, 12 Apr 2019 10:06:29 +0000 (18:06 +0800)]
MLK-21445 serial: fsl_lpuart: do HW reset for communication port

Do HW reset for communication port after the port is registered
if the UART controller support the feature.

Do partition reset with LPUART's power on, LPUART registers will
keep the previous status, like on i.MX8QM platform,  which is not
expected action, so reset the HW is required.

Currently, only i.MX7ULP and i.MX8QM LPUART controllers include
global register that support HW reset.

Tested-by: Robin Gong <yibin.gong@nxp.com>
Tested-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Robby Cai <robby.cai@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
(cherry picked from commit c2bc1f62ec28981462c9cb5ceac17134931ca19f)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 9f396f540093402317c3c1b9a8fe955b91c89164)

5 years agoMLK-21443: dmaengine: fsl-edma-v3: clear pending irq before request irq
Robin Gong [Thu, 11 Apr 2019 06:36:37 +0000 (14:36 +0800)]
MLK-21443: dmaengine: fsl-edma-v3: clear pending irq before request irq

edma interrupt maybe happened during reboot or watchdog reset, meanwhile
gic never power down on i.mx8QM/QXP, thus the unexpect irq will come in
once edma driver request irq at probe phase. Unfortunately, at that time
that edma channel's power domain which power-up by customer driver such
as audio/uart driver may not be ready, so kernel panic triggered once
touch such edma registers which still not power up in interrupt handler.
Move request irq from probe to alloc dma channel so that edma channel's
power domain has already been powered, besides, clear meaningless
interrupt before request irq.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
(cherry picked from commit 0a0d8f8b944094342fda18f23f3ac13b8a73871d)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit a6fa7853b4318a31df8c4f53068e5c68d6e0c4bd)

5 years agoMLK-21368 typec: tcpci: disable irq when system suspend
Li Jun [Thu, 25 Apr 2019 16:10:16 +0000 (21:40 +0530)]
MLK-21368 typec: tcpci: disable irq when system suspend

Disable typec irq when suspend to avoid the threaded irq to access
some resource(e.g. i2c over rpmsg) but those resource is not
available at later phrase, also use IRQ_DISABLE_UNLAZY flag to
mask the irq on irq chip level when irq happens.

Suggested-by: Anson Huang <anson.huang@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
(cherry picked from commit 61869f787fb0ee2f00d0fe9443cb8b487e16e5ec)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 3b1fd5d8ccc9545818ead8bf1dcccb47bfd5c9e6)

5 years agoMLK-21355 typec: tcpm: use freezable workqueue for event handling
Li Jun [Wed, 3 Apr 2019 09:01:52 +0000 (17:01 +0800)]
MLK-21355 typec: tcpm: use freezable workqueue for event handling

While system suspend, the typec event handling required service
maybe is not available(suspended), so we need freeze those event
handling by using freezable workqueue, e.g while tcpm is handling
PD message but system suspend started.

Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
(cherry picked from commit 270d4df94b7c2c773a171fe012fb8ce89196964f)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 64a3a41322028985b4b06f16160f76b90cd92f5a)

5 years agoMGS-4652 [#imx-1379] fix coverity dereference issue
Xianzhong [Fri, 29 Mar 2019 02:10:56 +0000 (10:10 +0800)]
MGS-4652 [#imx-1379] fix coverity dereference issue

CID: 5781508
device pointer should not be used before null check

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
(cherry picked from commit 17942905375a282ed9896c3cc778a246c321f5f0)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 1156f9c81028d59c35835d0311dea19f2e6e52b1)

5 years agoMLK-20208-4 mxc IPUv3: disp: Avoid division by zero in ipu_init_sync_panel()
Liu Ying [Tue, 26 Mar 2019 06:12:35 +0000 (14:12 +0800)]
MLK-20208-4 mxc IPUv3: disp: Avoid division by zero in ipu_init_sync_panel()

To avoid potential division by zero in ipu_init_sync_panel(),
let's check the rounded_pixel_clk rate prior to that.

Detected by CoverityScan, CID#56278 ("Division or modulo by zero")

Signed-off-by: Liu Ying <victor.liu@nxp.com>
(cherry picked from commit 1523150b71f1aa0610f61ea47a9f3bdbcda92522)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 5e2882f2fa1e852e6c405e38109505eae1459c90)

5 years agoMLK-20208-3 mxc IPUv3: disp: Avoid division by zero in ipu_init_async_panel()
Liu Ying [Tue, 26 Mar 2019 06:20:34 +0000 (14:20 +0800)]
MLK-20208-3 mxc IPUv3: disp: Avoid division by zero in ipu_init_async_panel()

To avoid potential division by zero in ipu_init_async_panel(),
let's check the di_clk rate prior to that.

Detected by CoverityScan, CID#56264 ("Division or modulo by zero")

Signed-off-by: Liu Ying <victor.liu@nxp.com>
(cherry picked from commit d7777247e6ba4ca9fcc313bef6672060859fed19)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 739a8482f07187566ec8777dbd2d4b79a1056c49)

5 years agoMLK-20208-2 mxc IPUv3: device: Avoid potential out of bounds array access
Liu Ying [Tue, 26 Mar 2019 05:55:46 +0000 (13:55 +0800)]
MLK-20208-2 mxc IPUv3: device: Avoid potential out of bounds array access

To avoid potential out of bounds array access on tbl->used[][],
let's check the tsk->ipu_id prior to that.  Based on the context,
this is what we can do to make the coverity happy.

Detected by CoverityScan, CID#17689 ("Derefernece before null check")

Signed-off-by: Liu Ying <victor.liu@nxp.com>
(cherry picked from commit f5dcf709c54da8e64eb84f1dd7a4452ad8d942cf)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit a9d03df1de0c6744335eb185506a3b6e27c4d24b)

5 years agoMLK-20208-1 mxc IPUv3: device: Remove a piece of dead code in ipu_task_thread()
Liu Ying [Tue, 26 Mar 2019 05:36:52 +0000 (13:36 +0800)]
MLK-20208-1 mxc IPUv3: device: Remove a piece of dead code in ipu_task_thread()

The check on !sp_tsk0 is unnecessary in ipu_task_thread(), because the
beforehand "list_del(&sp_tsk0->node);" within the context implies sp_tsk0
is not null, otherwise, we'll dereference a null pointer earlier.

Detected by CoverityScan, CID#17842 ("Logically dead code")

Signed-off-by: Liu Ying <victor.liu@nxp.com>
(cherry picked from commit 9ad5edd076d61bc8bb3a558e523cc7b31f2c3043)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 2c4dd0cb989176b9ca71b7ee60e9cdb899f5f633)

5 years agoMLK-20370 IPU: mxc_vout: fix the potential uninitalized variable usage
Oliver Brown [Fri, 22 Mar 2019 18:25:58 +0000 (13:25 -0500)]
MLK-20370 IPU: mxc_vout: fix the potential uninitalized variable usage

Fix Covertity CID 18110 Uninitialized scalar variable

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
(cherry picked from commit 0f2a05c5cef95dabdbdd1e78531cd42aec24876a)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 66e74fc3d5adad10766adf08a73109da064945e9)

5 years agoMLK-21073 usb: cdns3: core: fix the oops when the interrupt occurs during suspend
Peter Chen [Fri, 22 Feb 2019 09:12:52 +0000 (17:12 +0800)]
MLK-21073 usb: cdns3: core: fix the oops when the interrupt occurs during suspend

When the interrupt occurs during the USB is entering suspend, the
cdns->lpm flag may not be updated well, the below oops may occur.
We treat above interrupt as wakeup interrupt, it should be handled
after lpm flag is set.

irq 120: nobody cared (try booting with the "irqpoll" option)
CPU: 0 PID: 107 Comm: kworker/0:1 Tainted: G           O    4.14.78 #1
Hardware name: Freescale i.MX8QM MEK (DT)
Workqueue: pm pm_runtime_work
Call trace:
[<ffff000008083230>] el1_irq+0xb0/0x124
[<ffff000009028fcc>] _raw_spin_unlock_irqrestore+0x18/0x48
[<ffff000008147a6c>] __irq_put_desc_unlock+0x1c/0x44
[<ffff000008149e4c>] enable_irq+0x54/0x90
[<ffff0000089cb08c>] cdns3_enter_suspend+0x30c/0x3ac
[<ffff0000089cb274>] cdns3_runtime_suspend+0x40/0x78
[<ffff000008796cd8>] pm_generic_runtime_suspend+0x28/0x48
[<ffff0000087a7400>] genpd_runtime_suspend+0x90/0x21c
[<ffff00000879a14c>] __rpm_callback+0x130/0x264
[<ffff00000879a2a4>] rpm_callback+0x24/0x78
[<ffff000008798ec8>] rpm_suspend+0x10c/0x668
[<ffff0000087996b4>] rpm_idle+0x1c0/0x390
[<ffff00000879aa6c>] pm_runtime_work+0x94/0xe0
[<ffff0000080fac88>] process_one_work+0x140/0x3f8
[<ffff0000080fb078>] worker_thread+0x138/0x3e4
[<ffff0000081014e0>] kthread+0x104/0x130
[<ffff00000808552c>] ret_from_fork+0x10/0x18

Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit e9f0c22de405d2e7f9698e67fbebde1e5aa37fdc)

5 years agoMLK-20972 ARM: dts: imx7ulp-evkb: add the model name
Fugang Duan [Mon, 25 Feb 2019 02:16:35 +0000 (10:16 +0800)]
MLK-20972 ARM: dts: imx7ulp-evkb: add the model name

Add the model name accordingly for imx7ulp EVKB board since
the machine name and/or compatible may be used by user.

Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit f49cee78a98eab62793392279df1804acdf4a09b)

5 years agobluetooth: l2cap: add security setting check
Fugang Duan [Thu, 14 Mar 2019 09:56:57 +0000 (17:56 +0800)]
bluetooth: l2cap: add security setting check

Add security setting check for socket interface since
stack will check the return value.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit a23098e20ce214d134cc3cef3ad51a6bba13b99a)

5 years agoMLK-21163 PCI: enable cyw4356 D3 mode
Fugang Duan [Mon, 11 Mar 2019 06:26:58 +0000 (14:26 +0800)]
MLK-21163 PCI: enable cyw4356 D3 mode

Remove the quirk for disable cyw4356 D3 mode since current FW
already support it.
This revert the commit 28db0ac248b3("MLK-20716 PCI: add quirk for
cyw4356 to disable D3 mode")

Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit d0e2c4b0b66e46b2f33633efdea19af6241f95ef)

5 years agoMLK-13459 video: fbdev: export symbols needed for module build
Oliver Brown [Thu, 14 Mar 2019 13:49:08 +0000 (08:49 -0500)]
MLK-13459 video: fbdev: export symbols needed for module build

mipid_hx8369_get_lcd_videomode and mipid_hx8369_lcd_setup are now exported
for the module build.

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit d4cc133df431df7c620fe95543dad80e5d25d5b3)

5 years agoMLK-21105 IPUv3: disp: Explicitly clear DI_GEN_POLARITY_DISP_CLK when necessary
Liu Ying [Tue, 12 Mar 2019 02:38:01 +0000 (10:38 +0800)]
MLK-21105 IPUv3: disp: Explicitly clear DI_GEN_POLARITY_DISP_CLK when necessary

The IPUv3 fb driver would call ipu_init_sync_panel() to enable a display.
It reads the DI_GENERAL register first and sets the bit
DI_GEN_POLARITY_DISP_CLK to high if sig.clk_pol is false.  This assumes
no one else would program the bit and the pixel clock polarity never
changes(which is usually the case).  However, the commit mentioned below
sets the bit to high in ipu_uninit_sync_panel() when a display is disabled,
in order to avoid power leakage for display pins.  This would keep the
bit being high as long as the display was disabled since the system is
actively running.  This patch explicitly clears the bit when necessary
to fix the issue.  Tests are done for CLAA-WVGA parallel LCD panel,
SEIKO-WVGA parallel LCD panel, Hannstar XGA LVDS panel(LVDS0 and LVDS1),
HIMAX WVGA MIPI DSI panel and native HDMI output on i.MX6q SabreSD board.

Fixes: 9afd177e7524 ("ENGR00141552 ipuv3: fix display pin's power leak")
Signed-off-by: Liu Ying <victor.liu@nxp.com>
(cherry picked from commit 02db8c7829d72bd45967d866965a17d818b9cc57)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 0f52c8a6d5c22f62e58109ae4ff8b1dad5c09348)

5 years agoMLK-21031 arm: imx: fix standby resume hang on imx7ulp
Jacky Bai [Mon, 4 Mar 2019 01:49:06 +0000 (09:49 +0800)]
MLK-21031 arm: imx: fix standby resume hang on imx7ulp

When system resume from VLPS mode, DDR IO must be restored
before mmdc out of the self-fresh mode.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Tested-by: Anson Huang <Anson.Huang@nxp.com>
(cherry picked from commit 7dec20bcb6633c7feee1eb32a5d81356075a61f7)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 1a484976fdfda18e316c4e0b22fbbd4c99593f8d)

5 years agoMLK-21006 Driver: lpuart: Disable interrupts before request irq
Flynn xu [Fri, 1 Mar 2019 22:59:31 +0000 (17:59 -0500)]
MLK-21006 Driver: lpuart: Disable interrupts before request irq

Commit b311ef1d549b ("MLK-20989: Driver: lpuart: reset registers
before enable lpuart") breaks early console function, and the
commit already was reverted. The reworked patch is to fix the
issue correctly.

This patch has been tested on i.MX8QM/QXP.

change log:
V1 -> V2:
  1. Remove lock, since there is no race condition.

Suggested-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Flynn xu <flynn.xu@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 161f0144934fe917123c79eae6a7539806d1e04e)

5 years agoMLK-20970: mtd: flexspi: add delay cell support for fspi
Han Xu [Fri, 22 Feb 2019 16:34:21 +0000 (10:34 -0600)]
MLK-20970: mtd: flexspi: add delay cell support for fspi

Add delay cell support for fspi to set calibrated value to DLL register
for different clock frequency.

Signed-off-by: Han Xu <han.xu@nxp.com>
(cherry picked from commit 5b608b98697668bd11563febba89bd0eea1c1b26)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 75bd56659a626a2f013e7ec3e9019eede68bd315)

5 years agoMLK-20957-2 mmc: cqhci: clear the HALT bit in the first request when resume back
Haibo Chen [Fri, 22 Feb 2019 09:56:18 +0000 (17:56 +0800)]
MLK-20957-2 mmc: cqhci: clear the HALT bit in the first request when resume back

After system suspend, CQE is in cqhci_off state, which set the HALT bit, make
CQE in HALT state. If the SoC do not power down the USDHC module, then when
system resume back, this bit keep the same, still set. So need to clear this
bit when enable CQE for the first request after system resume back. If not,
imx8mm will stuck in the first CMDQ request after system resume back. On
imx8qxp and imx8qm, we do not find this issue because usdhc module lost power
during system suspend/resume, and all the register return to the default reset
value, and the reset value of bit HALT is 0.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit 49d6f5d5cca3a66fa65568a50f75cbbac87ba312)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit bb7964bdf5dee51e82d8b7fff3e2454e3c9a57fc)

5 years agoMLK-20957-1 mmc: sdhci-esdhc-imx: correct the fix of ERR004536
Haibo Chen [Thu, 21 Feb 2019 06:38:04 +0000 (14:38 +0800)]
MLK-20957-1 mmc: sdhci-esdhc-imx: correct the fix of ERR004536

the commit 885c943ca13d ("ENGR00288842 mmc: sdhci-esdhc-imx: add
ADMA Length Mismatch errata fix") involve the fix of ERR004536.
But double confirm with IC, need to clear the bit 7 of register
0x6c rather than set this bit 7.
here is the function of bit 7 of 0x6c:
0: enable the new IC fix for ERR004536
1: do not use the IC fix, keep the same as before

Due to the reset value of this bit 7 is 0, and ROM code also do not
touch this bit 7, so this patch directly remove the operation of this
bit 7, make sure the fix of ERR004536 can work.

Note, for all versons of 6DQP 6DQ 6DL and 6SL, IC do not has this
hardware fix, so writing this bit has no effect and we keep using
ADMA as before which has been used for several years with the
consideration of no performance drop.

For other SoC like imx6SLL imx6SX imx6UL/imx6ULL imx7 imx8, IC already
contain this hareware fix, so must make sure the bit 7 of the register
0x6c is 0. If not, we meet the ADMA length mismatch error on imx8mm-evk
and imx8qxp-ddr3l-val board when enable CMDQ.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
(cherry picked from commit 2ea2f2b374545ff63a714fabc16c0d7c6b3b47b6)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 359538c2faf5d975072c9950e510d61d10815a69)

5 years agoMLK-20956 rtc: imx-rpmsg: do NOT overwrite rtc driver data
Anson Huang [Wed, 20 Feb 2019 03:10:26 +0000 (11:10 +0800)]
MLK-20956 rtc: imx-rpmsg: do NOT overwrite rtc driver data

Some test cases need to use RTC driver data, so do NOT
overwrite it using rpmsg data structure.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Bai Ping <ping.bai@nxp.com>
(cherry picked from commit da74fb3d328f037ecb1832a53f45cebdbda8f86f)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 776e5fa2eef90e50cbd90c904c7f880323e8bc33)

5 years agoMLK-20951 arm: imx: Update the mmdc io save/restore on imx7ulp
Jacky Bai [Mon, 18 Feb 2019 06:03:40 +0000 (14:03 +0800)]
MLK-20951 arm: imx: Update the mmdc io save/restore on imx7ulp

When system enters VLPS/VLLS mode, the IOMUXC config register
for MMDC related IO pads need to set to '0' to reduce the current
leakage for these IO pads.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit acf5535cf6603fd5a68cb86c88a685d5f70db8d5)

5 years agoMLK-20882: pxp: add VUY444 format support for PXP PS engine
Guoniu.Zhou [Mon, 11 Feb 2019 03:24:21 +0000 (11:24 +0800)]
MLK-20882: pxp: add VUY444 format support for PXP PS engine

VUY444 is supported by PXP HW but driver miss it. so add it

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 57e9b876954170cd0718eb8af8666573ebb26bb4)
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 4e62c1fb7a8f1ef14ea35fe5d5294b17f18cebbe)

5 years agoMLK-20060-6 dts: lpspi: Prevent CS line error in slave mode
Clark Wang [Thu, 3 Jan 2019 09:54:11 +0000 (17:54 +0800)]
MLK-20060-6 dts: lpspi: Prevent CS line error in slave mode

Prevent cs line configuration error in slave mode.

If master mode uses cs-gpio configuration, it should be changed into
non-gpio for CS line in slave mode. Otherwise, slave will receive several
0xFF at the beginning of one transfer especially in dma mode.

Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
Acked-by: Fugang Duan <Fugang.duan@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 88ba1025094d53fdecd1b443ef1a85514a132f21)

5 years agoMLK-20368 i2c-imx: Coverity: fix divide by zero warning
Clark Wang [Tue, 15 Jan 2019 02:04:30 +0000 (10:04 +0800)]
MLK-20368 i2c-imx: Coverity: fix divide by zero warning

"i2c_clk_rate / 2" might be zero when the i2c_clk_rate gets the clock is
0 or 1, so add a judgment to avoid the denominator is equal to 0.

Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
[Arul: Add support to check return value everywhere in the driver]
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit d382de595bffc0975ab7c0582e08dd4f7afc0c1a)

5 years agoMLK-20716 PCI: add quirk for cyw4356 to disable D3 mode
Andy Duan [Mon, 7 Jan 2019 10:45:41 +0000 (18:45 +0800)]
MLK-20716 PCI: add quirk for cyw4356 to disable D3 mode

Add quirk for cyw4356 to disable D3 mode because current firmware
still doesn't support D3 mode.

Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 22212c60d7fb067e28a2fed16914515e3d6d3950)

5 years agoMLK-20389 Changed OPTEE busfreq trace
Cedric Neveux [Fri, 16 Nov 2018 13:01:21 +0000 (14:01 +0100)]
MLK-20389 Changed OPTEE busfreq trace

   To be able to constat that busfreq is started/done vith
   OPTEE OS, changed the mach-imx/busfreq_optee.c pr_debug
   macro with printk(KERN_DEBUG ...)

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit 8e416ebaada127eeb408cf2e2ffc41202933eebb)

5 years agoMLK-20582 Fix busfreq compilation CONFIG_OPTEE=n
Cedric Neveux [Thu, 13 Dec 2018 12:14:25 +0000 (13:14 +0100)]
MLK-20582 Fix busfreq compilation CONFIG_OPTEE=n

   Compilation error with busfreq optee when CONFIG_OPTEE=n

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit db9e345f9bd67048bcb17d9df306b35f64abbb14)