linux.git
5 years agoMLK-22284-1 dmaengine: fsl-edma-v3: add power domains for each channel
Robin Gong [Wed, 17 Apr 2019 09:05:42 +0000 (17:05 +0800)]
MLK-22284-1 dmaengine: fsl-edma-v3: add power domains for each channel

Add power domains for each dma channel so that edma channel could
know the power state of every dma channel anytime and clear easily
unexpected interrupt which triggered before the last partition reset.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: S.j. Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 0b6da46b7bdb2284e24757d48466268b9feb5b7c)

5 years agoMLK-22301 VPU: Fix build warning when CONFIG_PM_SLEEP=n
Shijie Qin [Tue, 23 Jul 2019 07:41:29 +0000 (15:41 +0800)]
MLK-22301 VPU: Fix build warning when CONFIG_PM_SLEEP=n

Fixing unused compiler warning for
decode: vpu_suspend() and vpu_resume()
encode: vpu_enc_suspend() and vpu_enc_resume()

Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: ming_qian <ming.qian@nxp.com>
5 years agoMLK-22300: [i.MX8M/VPU]: Fixing compiler warning when pm sleep is disabled
Zhou Peng [Tue, 23 Jul 2019 07:31:51 +0000 (15:31 +0800)]
MLK-22300: [i.MX8M/VPU]: Fixing compiler warning when pm sleep is disabled

Fixing unused compiler warning for xxx_suspend()/xxx_resume(), include
850Dg1g2(hantrodec.c)/845g1g2(hantrodec_845s.c)/845h1(hx280enc.c)

Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
5 years agoMLK-21076-8 rtc: imx-sc: Fix build error when CONFIG_PM_SLEEP=n
Anson Huang [Tue, 23 Jul 2019 06:22:02 +0000 (14:22 +0800)]
MLK-21076-8 rtc: imx-sc: Fix build error when CONFIG_PM_SLEEP=n

Fix below build error when CONFIG_PM_SLEEP=n:

drivers/rtc/rtc-imx-sc.c:210:9: error: ‘IMX_SC_RTC_PM_OPS’ undeclared here (not in a function)
   .pm = IMX_SC_RTC_PM_OPS,
         ^
scripts/Makefile.build:326: recipe for target 'drivers/rtc/rtc-imx-sc.o' failed
make[2]: *** [drivers/rtc/rtc-imx-sc.o] Error 1
make[2]: *** Waiting for unfinished jobs....

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
(cherry picked from commit 0550943f8c145072580bd103ff3fdd74eb5cb807)

5 years agoMLK-21076-7 pinctrl: imx8mn: Fix build warning when CONFIG_PM_SLEEP=n
Anson Huang [Tue, 23 Jul 2019 06:20:47 +0000 (14:20 +0800)]
MLK-21076-7 pinctrl: imx8mn: Fix build warning when CONFIG_PM_SLEEP=n

Fix below build warning when CONFIG_PM_SLEEP=n:

drivers/pinctrl/freescale/pinctrl-imx8mn.c:355:12: warning:
 ‘imx8mn_pinctrl_suspend’ defined but not used [-Wunused-function]
 static int imx8mn_pinctrl_suspend(struct device *dev)
            ^
drivers/pinctrl/freescale/pinctrl-imx8mn.c:360:12: warning:
 ‘imx8mn_pinctrl_resume’ defined but not used [-Wunused-function]
 static int imx8mn_pinctrl_resume(struct device *dev)
            ^

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
(cherry picked from commit 6f84c2d2d1e30d8f3cf68245fa1f12dfac8b6a8e)

5 years agoMLK-21076-6 pinctrl: imx8mm: Fix build warning when CONFIG_PM_SLEEP=n
Anson Huang [Tue, 23 Jul 2019 06:19:20 +0000 (14:19 +0800)]
MLK-21076-6 pinctrl: imx8mm: Fix build warning when CONFIG_PM_SLEEP=n

Fix below build warning when CONFIG_PM_SLEEP=n:

drivers/pinctrl/freescale/pinctrl-imx8mm.c:355:12: warning:
 ‘imx8mm_pinctrl_suspend’ defined but not used [-Wunused-function]
 static int imx8mm_pinctrl_suspend(struct device *dev)
            ^
drivers/pinctrl/freescale/pinctrl-imx8mm.c:361:12: warning:
 ‘imx8mm_pinctrl_resume’ defined but not used [-Wunused-function]
 static int imx8mm_pinctrl_resume(struct device *dev)
            ^

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
(cherry picked from commit a4745f292da5bcaae3d75e3ac8b293c71fe7dcb1)

5 years agoMLK-21076-4 regulator: pfuze100: Fix build warning when CONFIG_PM_SLEEP=n
Anson Huang [Tue, 23 Jul 2019 01:43:25 +0000 (09:43 +0800)]
MLK-21076-4 regulator: pfuze100: Fix build warning when CONFIG_PM_SLEEP=n

Fix below build warning when CONFIG_PM_SLEEP=n:

drivers/regulator/pfuze100-regulator.c:743:12: warning:
 'pfuze_resume' defined but not used [-Wunused-function]
 static int pfuze_resume(struct device *dev)
            ^~~~~~~~~~~~
drivers/regulator/pfuze100-regulator.c:717:12: warning:
 'pfuze_suspend' defined but not used [-Wunused-functio ]
 static int pfuze_suspend(struct device *dev)
            ^~~~~~~~~~~~~

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
(cherry picked from commit 36fb6ba8ad9f3a5eb6d883e53c5bb42cd5aec3ce)

5 years agoMLK-21076-3 pinctrl: imx7d: Fix build warning when CONFIG_PM_SLEEP=n
Anson Huang [Tue, 23 Jul 2019 01:41:38 +0000 (09:41 +0800)]
MLK-21076-3 pinctrl: imx7d: Fix build warning when CONFIG_PM_SLEEP=n

Fix below build warning when CONFIG_PM_SLEEP=n:

drivers/pinctrl/freescale/pinctrl-imx7d.c:400:12: warning:
'imx7d_pinctrl_resume' defined but not used [-Wunused-function]
 static int imx7d_pinctrl_resume(struct device *dev)
            ^~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/freescale/pinctrl-imx7d.c:394:12: warning:
 'imx7d_pinctrl_suspend' defined but not used [-Wunused-function]

 static int imx7d_pinctrl_suspend(struct device *dev)
            ^~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
(cherry picked from commit 219d360b02f74e210c8382de5c8061d660b14241)

5 years agoMLK-21076-2 thermal: imx: Fix build warning when CONFIG_PM_SLEEP=n
Anson Huang [Tue, 23 Jul 2019 01:39:35 +0000 (09:39 +0800)]
MLK-21076-2 thermal: imx: Fix build warning when CONFIG_PM_SLEEP=n

Fix below build warning when CONFIG_PM_SLEEP=n:

drivers/thermal/imx_thermal.c:243:12: warning: 'imx7_lpsr_save'
defined but not used [-Wunused-variable]

 static u32 imx7_lpsr_save[2];
            ^~~~~~~~~~~~~~
  AR      drivers/spi/built-in.o

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
(cherry picked from commit e4a858fb57a2460af3c615647828f9f32e532097)

5 years agoMLK-21076-1 rtc: imx-rpmsg: Fix build error when CONFIG_PM_SLEEP=n
Anson Huang [Tue, 23 Jul 2019 01:37:14 +0000 (09:37 +0800)]
MLK-21076-1 rtc: imx-rpmsg: Fix build error when CONFIG_PM_SLEEP=n

drivers/rtc/rtc-imx-rpmsg.c:374:9:
error: 'IMX_RPMSG_RTC_PM_OPS' undeclared here (not in a function);
did you mean 'IMX8_RPMSG_RTC_PM_OPS'?

   .pm = IMX_RPMSG_RTC_PM_OPS,
         ^~~~~~~~~~~~~~~~~~~~
         IMX8_RPMSG_RTC_PM_OPS

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
(cherry picked from commit 86aba1097ae69ff75999bddc3c3b0ad6c0bc7e2e)

5 years agoMLK-22295-2: ASoC: fsl_easrc: Fix build warning with CONFIG_PM_SLEEP=n
Shengjiu Wang [Tue, 23 Jul 2019 05:22:28 +0000 (13:22 +0800)]
MLK-22295-2: ASoC: fsl_easrc: Fix build warning with CONFIG_PM_SLEEP=n

Fix build warning with CONFIG_PM_SLEEP=n, the message is

In file included from sound/soc/fsl/fsl_easrc.c:2204:0:
sound/soc/fsl/fsl_easrc_m2m.c:960:13: warning: ‘fsl_easrc_m2m_resume’ defined but not used [-Wunused-function]
 static void fsl_easrc_m2m_resume(struct fsl_easrc *easrc)
             ^~~~~~~~~~~~~~~~~~~~
sound/soc/fsl/fsl_easrc_m2m.c:927:13: warning: ‘fsl_easrc_m2m_suspend’ defined but not used [-Wunused-function]
 static void fsl_easrc_m2m_suspend(struct fsl_easrc *easrc)
             ^~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit 0b6e34f8aaac3a6e5a5e1459a9fc6a42d8a8c127)

5 years agoMLK-22295-1: ASoC: fsl_asrc: fix build warning with CONFIG_PM_SLEEP=n
Shengjiu Wang [Tue, 23 Jul 2019 05:18:01 +0000 (13:18 +0800)]
MLK-22295-1: ASoC: fsl_asrc: fix build warning with CONFIG_PM_SLEEP=n

fix build warning with CONFIG_PM_SLEEP=n, the warning message is

In file included from sound/soc/fsl/fsl_asrc.c:968:0:
sound/soc/fsl/fsl_asrc_m2m.c:1021:13: warning: ‘fsl_asrc_m2m_resume’ defined but not used [-Wunused-function]
 static void fsl_asrc_m2m_resume(struct fsl_asrc *asrc_priv)
             ^~~~~~~~~~~~~~~~~~~
sound/soc/fsl/fsl_asrc_m2m.c:990:13: warning: ‘fsl_asrc_m2m_suspend’ defined but not used [-Wunused-function]
 static void fsl_asrc_m2m_suspend(struct fsl_asrc *asrc_priv)
             ^~~~~~~~~~~~~~~~~~~~

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit a3ec5433cfd6fd2b90113a78d5045e04f6a8328c)

5 years agoMLK-22296-5 irqchip: irqsteer: Fix build warning when CONFIG_PM_SLEEP=n
Clark Wang [Tue, 23 Jul 2019 07:00:53 +0000 (15:00 +0800)]
MLK-22296-5 irqchip: irqsteer: Fix build warning when CONFIG_PM_SLEEP=n

Fix build warning when CONFIG_PM_SLEEP=n, the warning message is:
drivers/irqchip/irq-imx-irqsteer.c:104:13: warning: ‘imx_irqsteer_init’ defined but not used [-Wunused-function]
 static void imx_irqsteer_init(struct irqsteer_irqchip_data *irqsteer_data)
             ^~~~~~~~~~~~~~~~~

Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
5 years agoMLK-22296-4 misc: mpl3115: Fix build warning when CONFIG_PM_SLEEP=n
Clark Wang [Tue, 23 Jul 2019 06:42:49 +0000 (14:42 +0800)]
MLK-22296-4 misc: mpl3115: Fix build warning when CONFIG_PM_SLEEP=n

Fix build warning when CONFIG_PM_SLEEP=n, the warning message is:
drivers/input/misc/mpl3115.c:290:12: warning: ‘mpl3115_start_chip’ defined but not used [-Wunused-function]
 static int mpl3115_start_chip(struct i2c_client *client)
            ^~~~~~~~~~~~~~~~~~

Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
5 years agoMLK-22296-3 misc: fxls8471_i2c: Fix build warning when CONFIG_PM_SLEEP=n
Clark Wang [Tue, 23 Jul 2019 06:40:30 +0000 (14:40 +0800)]
MLK-22296-3 misc: fxls8471_i2c: Fix build warning when CONFIG_PM_SLEEP=n

Fix build warning when CONFIG_PM_SLEEP=n, the warning message is:
drivers/input/misc/fxls8471_i2c.c:77:12: warning: ‘fxls8471_i2c_resume’ defined but not used [-Wunused-function]
 static int fxls8471_i2c_resume(struct device *dev)
            ^~~~~~~~~~~~~~~~~~~
drivers/input/misc/fxls8471_i2c.c:71:12: warning: ‘fxls8471_i2c_suspend’ defined but not used [-Wunused-function]
 static int fxls8471_i2c_suspend(struct device *dev)
            ^~~~~~~~~~~~~~~~~~~~

Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
5 years agoMLK-22296-2 i2c: lpi2c: Fix build warning when CONFIG_PM_SLEEP=n
Clark Wang [Tue, 23 Jul 2019 06:21:14 +0000 (14:21 +0800)]
MLK-22296-2 i2c: lpi2c: Fix build warning when CONFIG_PM_SLEEP=n

Fix build warning when CONFIG_PM_SLEEP=n, the warning message is:
drivers/i2c/busses/i2c-imx-lpi2c.c:515:20: warning: ‘lpi2c_imx_isr’ defined but not used [-Wunused-function]
 static irqreturn_t lpi2c_imx_isr(int irq, void *dev_id)
                    ^~~~~~~~~~~~~

Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
5 years agoMLK-22296-1 i2c: i2c-imx: Fix build warning when CONFIG_PM_SLEEP=n
Clark Wang [Tue, 23 Jul 2019 06:08:50 +0000 (14:08 +0800)]
MLK-22296-1 i2c: i2c-imx: Fix build warning when CONFIG_PM_SLEEP=n

Fix build warning when CONFIG_PM_SLEEP=n, the warning message is:
drivers/i2c/busses/i2c-imx.c:1299:12: warning: ‘i2c_imx_resume’ defined but not used [-Wunused-function]
 static int i2c_imx_resume(struct device *dev)
            ^~~~~~~~~~~~~~
drivers/i2c/busses/i2c-imx.c:1293:12: warning: ‘i2c_imx_suspend’ defined but not used [-Wunused-function]
 static int i2c_imx_suspend(struct device *dev)
            ^~~~~~~~~~~~~~~

Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
5 years agoMLK-22299 pci: imx: fix build error when CONFIG_PM_SLEEP=n
Richard Zhu [Tue, 23 Jul 2019 05:56:07 +0000 (13:56 +0800)]
MLK-22299 pci: imx: fix build error when CONFIG_PM_SLEEP=n

drivers/pci/controller/dwc/pci-imx6.c:2826:2: error: implicit
declaration of function ‘pci_imx_set_msi_en’
[-Werror=implicit-function-declaration]
pci_imx_set_msi_en(&pci->pp);
^
drivers/pci/controller/dwc/pci-imx6.c: At top level:
drivers/pci/controller/dwc/pci-imx6.c:2857:10: error:
‘pci_imx_pm_ops’ undeclared here (not in a function)
.pm = &pci_imx_pm_ops,
    ^
cc1: some warnings being treated as errors

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
5 years agoMLK-22297: [i.MX6/VPU]: Fixing compiler warning when pm sleep is disabled
Zhou Peng [Tue, 23 Jul 2019 06:23:21 +0000 (14:23 +0800)]
MLK-22297: [i.MX6/VPU]: Fixing compiler warning when pm sleep is disabled

Fixing unused compiler warning for vpu_suspend() and vpu_resume()

Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
5 years agoMGS-5051 Modify the GPU CLK from 500M to 600M for IMX8MN(815) board
Minjie Zhuang [Tue, 23 Jul 2019 04:38:46 +0000 (12:38 +0800)]
MGS-5051 Modify the GPU CLK from 500M to 600M for IMX8MN(815) board

At IMX8MN(815) we need to Increase GPU CLK frequency to match the overdrive mode.
The SOC default setting is overdrive mode,and GPU 600M is corresponding to overdrive mode.

Signed-off-by: Minjie Zhuang <minjie.zhuang@nxp.com>
5 years agoMGS-4868 [#ccc] enable userspace register read
Adrian Negreanu [Mon, 15 Jul 2019 13:01:24 +0000 (16:01 +0300)]
MGS-4868 [#ccc] enable userspace register read

In v6.2.4, userspace register access was controlled by defining
gcdREGISTER_ACCESS_FROM_USER, enabled by default.

This changed in v6.4.0 where gcdREGISTER_ACCESS_FROM_USER is replaced by
gcdREGISTER_READ_FROM_USER and gcdREGISTER_WRITE_FROM_USER,
both disabled by default.

For the moment, gputop uses userspace register access ioctl to
read the GPU performance counters.

Signed-off-by: Adrian Negreanu <adrian.negreanu@nxp.com>
5 years agoMLK-22254: ASoC: fsl_easrc: Fix issue reported by coverity
Shengjiu Wang [Thu, 11 Jul 2019 10:25:13 +0000 (18:25 +0800)]
MLK-22254: ASoC: fsl_easrc: Fix issue reported by coverity

Fix issue reported by coverity:
a. Resource leak for ctx is not freed when m2m allocation
failed
b. Use of untrusted scalar value

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5 years agoMLK-22242: fsl_easrc: Fix definition issue of parameter width
Shengjiu Wang [Tue, 9 Jul 2019 10:27:26 +0000 (18:27 +0800)]
MLK-22242: fsl_easrc: Fix definition issue of parameter width

Some definition of parameter's width is wrong, that cause the
failure of conversion for more than 16 channels.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5 years agoMLK-22243: fsl_easrc: Add lock to protect configuration of slot
Shengjiu Wang [Wed, 10 Jul 2019 02:55:38 +0000 (10:55 +0800)]
MLK-22243: fsl_easrc: Add lock to protect configuration of slot

With multi-instance case, the fsl_easrc_config_slot will be called
in parallel, the fsl_easrc_slot is independent with context, so
we need to lock to protect the access of fsl_easrc_config_slot,
otherwise, the slot configuration will be fail for some instance
that cause "input DMA task timeout".

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5 years agoMLK-22161: fsl_easrc: Remove float point format support
Shengjiu Wang [Tue, 9 Jul 2019 08:58:47 +0000 (16:58 +0800)]
MLK-22161: fsl_easrc: Remove float point format support

The input audio float data range is normalized to (-1, 1), but
the hardware will drop to fractional part if output format
is integer format, so the output is all zero, which does not flow
the normal audio case, that to shift the output to Q15/Q31.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-22160: fsl_easrc: Remove Big endian support
Shengjiu Wang [Tue, 9 Jul 2019 07:05:05 +0000 (15:05 +0800)]
MLK-22160: fsl_easrc: Remove Big endian support

The hardware don't support big endian format. which only
support bit reverse.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-22239-3: ASoC: fsl_asrc: Support S24_3LE for m2m
Shengjiu Wang [Thu, 11 Jul 2019 03:12:51 +0000 (11:12 +0800)]
MLK-22239-3: ASoC: fsl_asrc: Support S24_3LE for m2m

Support S24_3LE for m2m with SDMA, but add constraint
for EDMA case, for EDMA don't support 3bytes copy.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-22239-2: ASoC: fsl_easrc: Support S24_3LE and S20_3LE for m2m
Shengjiu Wang [Thu, 11 Jul 2019 03:07:45 +0000 (11:07 +0800)]
MLK-22239-2: ASoC: fsl_easrc: Support S24_3LE and S20_3LE for m2m

upport S24_3LE and S20_3LE for m2m.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-22239-1: dmaengine: imx-sdma: Support 24bit/3bytes for sg mode
Shengjiu Wang [Thu, 11 Jul 2019 03:05:14 +0000 (11:05 +0800)]
MLK-22239-1: dmaengine: imx-sdma: Support 24bit/3bytes for sg mode

Support 24bit/3bytes for sg mode.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Robin Gong <yibin.gong@nxp.com>
5 years agoMLK-22168-2: fsl_easrc:fix timeout issue if STOP_CONV is not called
Shengjiu Wang [Fri, 5 Jul 2019 09:48:29 +0000 (17:48 +0800)]
MLK-22168-2: fsl_easrc:fix timeout issue if STOP_CONV is not called

When error happen, user may not call STOP_CONV to stop the context,
then there will be "input DMA task timeout" issue for next m2m task.

In this patch, fsl_easrc_stop_context is called in RELEASE_PAIR to
make sure context is stopped.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5 years agoMLK-22168: fsl_easrc:Add error handle for format check
Shengjiu Wang [Thu, 4 Jul 2019 07:29:57 +0000 (15:29 +0800)]
MLK-22168: fsl_easrc:Add error handle for format check

Add error handler for format check, if the format is not supported
should return error, otherwise it cause "input DMA task timeout"

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-21940-9: ARM64: defconfig: Built in CONFIG_SND_SOC_FSL_EASRC
Shengjiu Wang [Mon, 3 Jun 2019 02:33:00 +0000 (10:33 +0800)]
MLK-21940-9: ARM64: defconfig: Built in CONFIG_SND_SOC_FSL_EASRC

Built in CONFIG_SND_SOC_FSL_EASRC

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-21940-7: ASoC: imx-ak5558: Support EASRC in this sound card
Shengjiu Wang [Tue, 4 Jun 2019 10:18:45 +0000 (18:18 +0800)]
MLK-21940-7: ASoC: imx-ak5558: Support EASRC in this sound card

Support EASRC in this sound card with FE-BE structure

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-21940-6: ASoC: imx-wm8524: Support EASRC in this sound card
Shengjiu Wang [Mon, 3 Jun 2019 02:32:38 +0000 (10:32 +0800)]
MLK-21940-6: ASoC: imx-wm8524: Support EASRC in this sound card

Support EASRC in this sound card with FE-BE structure

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-21940-5: ASoC: wm8524: remove constrain for FE-BE
Shengjiu Wang [Mon, 3 Jun 2019 02:32:28 +0000 (10:32 +0800)]
MLK-21940-5: ASoC: wm8524: remove constrain for FE-BE

The constraint is not needed for back end bistream for
the sample rate is fixed by dts and the constraint
is propagate to front end bistream for they share same
snd_soc_pcm_runtime.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-21940-4: ASoC: fsl_easrc: Support the m2m function
Shengjiu Wang [Wed, 5 Jun 2019 02:46:25 +0000 (10:46 +0800)]
MLK-21940-4: ASoC: fsl_easrc: Support the m2m function

EASRC M2M function is not able to put upstream due to its self-designed
ioctl protocol. So make a single patch for it and make it merge
into P2P driver as simply as possible.

The patch can only be maintained internally unless some one designs a
new protocol or implement the originally protocol by using some common
approach provided by Linux Kernel.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-21940-3: ASoC: fsl_easrc: Add support new asrc module
Shengjiu Wang [Wed, 5 Jun 2019 02:39:44 +0000 (10:39 +0800)]
MLK-21940-3: ASoC: fsl_easrc: Add support new asrc module

EASRC (Enhanced ASRC) is a new IP module found on i.MX8 MN. It is
different from old ASRC module.

The primary features for the EASRC are as follows:
1. 4 Contexts - groups of channels with an independent time base
2. Fully independent and concurrent context control
3. Simultaneous processing of up to 32 audio channels
4. Programmable filter charachteristics for each context
5. 32, 24, 20, and 16-bit fixed point audio sample support
6. 32-bit floating point audio sample support
7. 8kHz to 384kHz sample rate
8. 1/16 to 8x sample rate conversion ratio
9. Software control of fine conversion ratio

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-21940-2: dt-bindings: sound: Add document for fsl,easrc
Shengjiu Wang [Wed, 5 Jun 2019 02:37:31 +0000 (10:37 +0800)]
MLK-21940-2: dt-bindings: sound: Add document for fsl,easrc

EASRC (Enhanced ASRC) is a new IP module found on i.MX8 MN. It is
different from old ASRC module.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-21697-2: ASoC: hdmi-codec: Support mono channel
Shengjiu Wang [Fri, 19 Jul 2019 08:01:31 +0000 (16:01 +0800)]
MLK-21697-2: ASoC: hdmi-codec: Support mono channel

Support mono channel for HDMI

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5 years agoMLK-21697-2: ASoC: imx-sii902x: Remove the operation for sii902x
Shengjiu Wang [Fri, 19 Jul 2019 07:59:36 +0000 (15:59 +0800)]
MLK-21697-2: ASoC: imx-sii902x: Remove the operation for sii902x

Move the operation for sii902x module to mxsfb_sii902x_audio.c
platform driver. change codec from dummy to hdmi-codec

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5 years agoMLK-21697-1: video: fb: sii902x: Register audio platform driver
Shengjiu Wang [Fri, 19 Jul 2019 07:51:16 +0000 (15:51 +0800)]
MLK-21697-1: video: fb: sii902x: Register audio platform driver

Register audio platform driver, that audio can utilize the existing
hdmi-codec driver, which can help to add constraint from EDID.

Other benifit is to move the i2c operation from audio machine driver
to this platform driver, original handling is not formal

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5 years agoMLK-20380: i2c: xenfront: fix i2cdetect bug
Flynn xu [Thu, 15 Nov 2018 08:30:24 +0000 (16:30 +0800)]
MLK-20380: i2c: xenfront: fix i2cdetect bug

The bug is when using i2cdetect in DomU, some i2c device will be
skiped, fixed this through add I2C_FUNC_SMBUS_QUICK functionality.

Signed-off-by: Flynn xu <flynn.xu@nxp.com>
(cherry picked from commit b0aa11bdc74e6cb15b18dc704d554364da1fe39a)

5 years agoMLK-20349 i2c: xen front: fix build warning
Peng Fan [Tue, 13 Nov 2018 10:19:01 +0000 (18:19 +0800)]
MLK-20349 i2c: xen front: fix build warning

Fixes build warning introduced by
90e818a0abcc("MLK-20342 i2c: xen-i2cback/front: Add i2c_smbus interface")

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 0c3f35ec9f5a78c6706eb0f58b96cc2524a6ab2a)

5 years agoMLK-20342 i2c: xen-i2cback/front: Add i2c_smbus interface
Flynn xu [Tue, 13 Nov 2018 09:46:50 +0000 (17:46 +0800)]
MLK-20342 i2c: xen-i2cback/front: Add i2c_smbus interface

Add smbus_xfer interface in xen-i2cback/front driver.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Flynn xu <flynn.xu@nxp.com>
(cherry picked from commit 5344f6c8efe9cabe72fbf6bd12fdb393a45a64c0)

5 years agoMLK-20319 i2c:xen-i2cfront: fix uninitalized variable
Flynn xu [Mon, 12 Nov 2018 05:43:56 +0000 (13:43 +0800)]
MLK-20319 i2c:xen-i2cfront: fix uninitalized variable

Fix uninitalized variable

Signed-off-by: Flynn xu <flynn.xu@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit a33b23fe75d79ef6f72faa6c94ac6bda6fab3919)

5 years agoMLK-20196-2 i2c: xen-i2cback: fix uninitalized variables
Peng Fan [Mon, 5 Nov 2018 08:29:46 +0000 (16:29 +0800)]
MLK-20196-2 i2c: xen-i2cback: fix uninitalized variables

Fix Coverity id 5186949 5187047, uninitialized variables.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 3bd3e95a644c0f07479c471f3d8f6d98e99343e4)

5 years agoMLK-20196-1 i2c: xen-i2cback: fix num_msg usage
Peng Fan [Mon, 5 Nov 2018 08:57:34 +0000 (16:57 +0800)]
MLK-20196-1 i2c: xen-i2cback: fix num_msg usage

When req.num_msg is less than 2, also need initialze num_msg.
Also modify the if/else if to use num_msg

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 0ce331ed4a1dbbe8c1be4ee69e0f4d8f46c8fc53)

5 years agoMLK-21941: imx-hdp-cec: change CEC_TX_STATUS_ERROR to NACK
Shengjiu Wang [Thu, 18 Jul 2019 02:04:06 +0000 (10:04 +0800)]
MLK-21941: imx-hdp-cec: change CEC_TX_STATUS_ERROR to NACK

With commit cd7b7f509cd0 ("media: cec: check for non-OK/NACK
conditions while claiming a LA")

When set the LA, the cec stack try to transmit the message "0x55"
(5 is LA) before configure the LA, and check the return value
But our cec driver alway return ERROR, which cause the setting of
LA failure, so change the return value to be NACK.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5 years agoMLK-22252 phy: mixel-lvds-combo: Configure CO divider to meet fvco range requirement
Liu Ying [Wed, 17 Jul 2019 07:08:07 +0000 (15:08 +0800)]
MLK-22252 phy: mixel-lvds-combo: Configure CO divider to meet fvco range requirement

As the below diagram shows, to achieve a particular serial clock rate,
we should choose an appropriate CO divider value(1/2/4/8) so that PLL
VCO frequency(fvco) is in specified range(640MHz ~ 1500MHz).

 ---------  640MHz ~ 1500MHz   ------------      --------------
| PLL VCO | ----------------> | CO divider | -> | serial clock |
 ---------                     ------------      --------------
                               1/2/4/8 div      7 * phy_clk_rate

This patch configures CO divider to be appropriate value to meet the fvco
range requirement.  This may address display flicker issue seen on some
SoC samples.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
5 years agoMMFMWK-8572 VPU Decoder: not add frm_total_num if input data not including frame...
Shijie Qin [Wed, 17 Jul 2019 08:49:06 +0000 (16:49 +0800)]
MMFMWK-8572 VPU Decoder: not add frm_total_num if input data not including frame data

Firmware use the gap between input frames and parsed frames compare with
parse_threshold, if input data not including frame data shall not add
frm_total_num.
verify input and parsed frames count when finished

Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: Zhou Peng <eagle.zhou@nxp.com>
Reviewed-by: ming_qian <ming.qian@nxp.com>
5 years agoMLK-17089-7: ASoC: fsl_mqs: support suspend & resume for imx8
Shengjiu Wang [Wed, 6 Dec 2017 03:30:02 +0000 (11:30 +0800)]
MLK-17089-7: ASoC: fsl_mqs: 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. with this implementation
the suspend function almost same as runtime suspend function. so remove
the suspend function, just use pm_runtime_force_suspend instead.

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

5 years agoMLK-17034-5: ASoC: fsl_mqs: Move clock operation to pm runtime function
Shengjiu Wang [Wed, 29 Nov 2017 07:32:21 +0000 (15:32 +0800)]
MLK-17034-5: ASoC: fsl_mqs: Move clock operation to pm runtime function

In imx8 when systerm enter suspend state, the power of subsystem will be
off, The clock enable state will be lost after resume, but the runtime
resume function will be called after resume by pm, so need to move clock
enablement to runtime resume and clock disablement to runtime suspend.
Then after resume the clock enable state can be recovered.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5 years agoMGS-5035-3 [#imx-1597] enable dual-GPU frequency scaling
Xianzhong [Mon, 15 Jul 2019 19:04:51 +0000 (03:04 +0800)]
MGS-5035-3 [#imx-1597] enable dual-GPU frequency scaling

current solution only enable GPU frequency scaling on GPU0,
does not change GPU1, cause problem for device-cooling.

fix platform driver to enable dual-GPU frequency scaling.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
5 years agoMGS-5035-2 [#ccc] add frequency scaling in device node
Xianzhong [Mon, 15 Jul 2019 17:37:26 +0000 (01:37 +0800)]
MGS-5035-2 [#ccc] add frequency scaling in device node

cat /sys/bus/platform/drivers/galcore/gpu3DClockScale

echo 16 > /sys/bus/platform/drivers/galcore/gpu3DClockScale

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
5 years agoMGS-5035-1 [#ccc] enable shader clock frequency scaling
Xianzhong [Mon, 15 Jul 2019 15:26:14 +0000 (23:26 +0800)]
MGS-5035-1 [#ccc] enable shader clock frequency scaling

currently GPU core clock frequency scaling is enabled,
the scaled clock cannot change GPU shader frequency.

enable shader frequency scaling with below setting:

  fscaleSh_clkSh = clkSh[7 :1 ];
  fscaleShLoad_clkSh = clkSh [0 ];
  enableAutoSh_clkSh = clkSh[16 ];
  disableAuto_clkSh = clkSh[17 ];

trick: write 0x10C to set new frequency scaling,
reset 0x10C to lock-up it before next change.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
5 years agoMLK-21980: ASoC: imx-pcm-rpmsg: add debugfs_prefix for platform
Shengjiu Wang [Tue, 16 Jul 2019 10:55:17 +0000 (18:55 +0800)]
MLK-21980: ASoC: imx-pcm-rpmsg: add debugfs_prefix for platform

There is warning log after switching to component in driver:

[    2.135785] fsl-rpmsg-i2s rpmsg-i2s: 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>
5 years agoMLK-22265 dt-bindings: pinctrl: imx8mm: Update head file
Anson Huang [Tue, 16 Jul 2019 01:56:48 +0000 (09:56 +0800)]
MLK-22265 dt-bindings: pinctrl: imx8mm: Update head file

Update i.MX8MM pinctrl head file according to reference manual
Rev.1, 03/2019.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
(cherry picked from commit 1deb822528206006de8e466c01ea8e782c51b0eb)

5 years agoMLK-22278:VPU Decoder: fix driver may don't alloc frames to firmware
ming_qian [Tue, 16 Jul 2019 05:38:00 +0000 (13:38 +0800)]
MLK-22278:VPU Decoder: fix driver may don't alloc frames to firmware

firmware may release frame buffer after
it has been queuen again.
so when qbuf, there may be no frames.
after release the frame, we can alloc it to frame again.

Signed-off-by: ming_qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
5 years agoMLK-22022: ASoC: imx-si476x: Fix Failure at capture
Shengjiu Wang [Tue, 16 Jul 2019 05:31:44 +0000 (13:31 +0800)]
MLK-22022: ASoC: imx-si476x: Fix Failure at capture

With command: arecord -D hw:$num,0 -f dat | aplay -D hw:0,0 -f dat &

There is error:
fsl-ssi-dai 202c000.ssi: invalid slot width: 32
fsl-ssi-dai 202c000.ssi: failed to set dai tdm slot
imx-tuner-si476x sound-fm: ASoC: machine hw_params failed: -22

The reason is that slot width 32 is not valid and and set_sysclk
api is removed by commit b0a7043d5c2c ("ASoC: fsl_ssi: Caculate bit clock
rate using slot number and width").

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-21773: media: m2m: add YUV24 support for ISI m2m driver
Guoniu.Zhou [Fri, 5 Jul 2019 07:58:16 +0000 (15:58 +0800)]
MLK-21773: media: m2m: add YUV24 support for ISI m2m driver

Add YUV24 format support for ISI memory to memory function and
remove YUV32 which is not supported by ISI.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
(cherry picked from commit 94805a5a40cf9851cc92c320810e7ec35911fb16)

5 years agoMLK-21775-4: ASoC: fsl_micfil: synchronize HWVAD enable/disable
Viorel Suman [Fri, 12 Jul 2019 09:07:42 +0000 (12:07 +0300)]
MLK-21775-4: ASoC: fsl_micfil: synchronize HWVAD enable/disable

HWVAD may be disabled from different context - from userspace
via SYSFS interface, and from VAD interrupt context on VAD event
detection. Synchronize HVWAD enable/disable in order to get a
proper HWVAD state after each operation.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
5 years agoMLK-21775-3: ASoC: fsl_micfil: prepare for atomic context
Viorel Suman [Fri, 12 Jul 2019 08:46:26 +0000 (11:46 +0300)]
MLK-21775-3: ASoC: fsl_micfil: prepare for atomic context

Replace "sleep" calls with corresponding "delay" equivalents
in order to prepare the code for running in atomic context.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
5 years agoMLK-21775-2: ASoC: fsl_micfil: fix error handling in enable_hwvad
Viorel Suman [Fri, 12 Jul 2019 08:54:03 +0000 (11:54 +0300)]
MLK-21775-2: ASoC: fsl_micfil: fix error handling in enable_hwvad

The HWVAD_OFF state must be restored and device put back
in runtime_suspend in case if fsl_set_clock_params, fsl_micfil_reset
and init_hwvad calls return an error.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
5 years agoMLK-21775-1: ASoC: fsl_micfil: improve error logging messages
Viorel Suman [Fri, 12 Jul 2019 09:04:03 +0000 (12:04 +0300)]
MLK-21775-1: ASoC: fsl_micfil: improve error logging messages

Improve hwvad enable/disable related error logging messages.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
5 years agoMLK-22257: VPU Decoder: clear pending cmd if cmd is timeout
ming_qian [Fri, 12 Jul 2019 07:24:31 +0000 (15:24 +0800)]
MLK-22257: VPU Decoder: clear pending cmd if cmd is timeout

if cmd is timeout, driver will set hang_status,
if driver doesn't clear the pending cmd who is timeout,
driver will prevent the next cmd to execute.

Signed-off-by: ming_qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
5 years agoMLK-22112-3 media: mipi_csi: replace reset flow for phy
Robby Cai [Fri, 14 Jun 2019 05:52:56 +0000 (13:52 +0800)]
MLK-22112-3 media: mipi_csi: replace reset flow for phy

After dispmix reset driver has been introduced, use reset control framework
to do the PHY reset for mipi csi.

BuildInfo:
 - ATF fecb1ef

Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 2f6744d6ba2045b51846fe6b8b280b854a12c475)

5 years agoMLK-22112-2 arm64: dts: define resets property for mipi csi
Robby Cai [Fri, 14 Jun 2019 05:51:20 +0000 (13:51 +0800)]
MLK-22112-2 arm64: dts: define resets property for mipi csi

The dispmix-reset device can be used to control MIPI CSI PHY reset.
Define 'resets' property for it to replace 'dispmix_gpr' usage.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 6a1711de8b1c79f87a7b6ffd592988c916a53202)

5 years agoMLK-22112-1 arm64: dts: imx8mm: decrease the iomem range for csi bridge
Robby Cai [Fri, 14 Jun 2019 02:19:55 +0000 (10:19 +0800)]
MLK-22112-1 arm64: dts: imx8mm: decrease the iomem range for csi bridge

it's conflicted with dispmix-reset device and will meet the following error.

[    1.630523] mx6s-csi 32e20000.csi1_bridge: can't request region for resource [mem 0x32e20000-0x32e2ffff]

decrease the range to avoid the conflict.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit b0e530f7598e6bc315e68adff310e9f7f5a452d9)

5 years agoMLK-22250: VPU Decoder: get seq info from event data instead of rpc
ming_qian [Thu, 11 Jul 2019 01:31:59 +0000 (09:31 +0800)]
MLK-22250: VPU Decoder: get seq info from event data instead of rpc
memory

There is rick getting seq info from rpc
It is also compatible with previous practices

Signed-off-by: ming_qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
5 years agoMLK-22218 arm64: imx8qm: configure Open Drain for SIM_IO pin
Joakim Zhang [Fri, 5 Jul 2019 04:02:00 +0000 (12:02 +0800)]
MLK-22218 arm64: imx8qm: configure Open Drain for SIM_IO pin

Configure Open Drain for SIM_IO pin. SIM_IO should be configured to Open
Drain and Pull Up.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
5 years agoMLK-22217 mxc: emvsim: add value adjustment for cwt/bwt timer
Joakim Zhang [Sat, 1 Jun 2019 02:40:33 +0000 (10:40 +0800)]
MLK-22217 mxc: emvsim: add value adjustment for cwt/bwt timer

Add value adjustment for cwt/bwt timer, otherwise it will fail with
ultimate cwt/bwt value.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
5 years agoMLK-22216 mxc: emvsim: last character need be transmitted separately with no guard...
Joakim Zhang [Sat, 22 Jun 2019 07:07:41 +0000 (15:07 +0800)]
MLK-22216 mxc: emvsim: last character need be transmitted separately with no guard time

It can't receive when transmitting on EMVSIM IP. ICC will send response
quickly when Terminal transmits last character with guard time. If the
response came to Terminal before the guard time expired, the Terminal
would not receive the respone. So should transmit last character with no
guard time.

This patch intends to fix the communication failure when setting guard
time.

This will cause about 1 ETU delay before transmitting last character
(according to timing measured), but it does not matter.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
5 years agoMLK-22215 mxc: emvsim: correct irq mask and clear irq status before receiving
Joakim Zhang [Thu, 23 May 2019 04:08:17 +0000 (12:08 +0800)]
MLK-22215 mxc: emvsim: correct irq mask and clear irq status before receiving

Just clean up the code and normalize the code.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
5 years agoMLK-22214 mxc: emvsim: clean up the code in ATR stage
Joakim Zhang [Thu, 23 May 2019 01:49:15 +0000 (09:49 +0800)]
MLK-22214 mxc: emvsim: clean up the code in ATR stage

Clean up the code in ATR stage.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
5 years agoMLK-22213 mxc: emvsim: read TS character before updating value of GPCNT1
Joakim Zhang [Thu, 23 May 2019 01:17:47 +0000 (09:17 +0800)]
MLK-22213 mxc: emvsim: read TS character before updating value of GPCNT1

Should read TS character before updating value of GPCNT1, because TS
character will also cost 12 etus.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
5 years agoMLK-22211 mxc: emvsim: should not clear PEF/FEF flag in irq handler
Joakim Zhang [Tue, 4 Jun 2019 01:41:46 +0000 (09:41 +0800)]
MLK-22211 mxc: emvsim: should not clear PEF/FEF flag in irq handler

Shouldn't clear PEF/FEF flag in irq handler as they are just a flag which
can't trigger interrupt. And they will be check later in irq handler.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
5 years agoMLK-22210 mxc: emvsim: enable ICM mode
Joakim Zhang [Sat, 1 Jun 2019 06:19:51 +0000 (14:19 +0800)]
MLK-22210 mxc: emvsim: enable ICM mode

Once detected a valid TS, the ICM bit is cleared and the data format bit,
IC bit , is set to appropriate value depending on the data format
detected using the initial character.

When TS is 0x3B (direct convention) in cold reset, and then become 0x3F
(inverse convention) in warm reset, it will not in ICM mode.

Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
5 years agoMLK-22154 clk: imx: Correct the usb ctrl clock's parent
Jacky Bai [Tue, 2 Jul 2019 08:50:38 +0000 (16:50 +0800)]
MLK-22154 clk: imx: Correct the usb ctrl clock's parent

The USB_CTRL clock's parent clock should be from USB_BUS clock,
so correct it to maintain the correct clock relationship.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
(cherry picked from commit 90f40d4d891cc7b321a52bd99b2ff4fe1c98cb93)

5 years agoMLK-21957-3: ASoC: fsl_sai: add bitcount and timestamp controls
Viorel Suman [Wed, 5 Jun 2019 13:46:32 +0000 (13:46 +0000)]
MLK-21957-3: ASoC: fsl_sai: add bitcount and timestamp controls

Bitcount and timestamp support added in SAI IP recently.
Add the related controls in SAI driver.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
5 years agoMLK-22247 sound: asoc: change micfil default settings
Irina Patru [Wed, 10 Jul 2019 11:13:28 +0000 (11:13 +0000)]
MLK-22247 sound: asoc: change micfil default settings

Previous default settings resulted in loose dynamic
range and low sound level.
New default configuration changes:
 - outgain = 2
 - quality mode = VLQ0
 - dc remover = bypass

Signed-off-by: Irina Patru <ioana-irina.patru@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
5 years agousb: chipidea: udc: workaround for endpoint conflict issue
Peter Chen [Mon, 17 Jun 2019 01:49:07 +0000 (09:49 +0800)]
usb: chipidea: udc: workaround for endpoint conflict issue

An endpoint conflict occurs when the USB is working in device mode
during an isochronous communication. When the endpointA IN direction
is an isochronous IN endpoint, and the host sends an IN token to
endpointA on another device, then the OUT transaction may be missed
regardless the OUT endpoint number. Generally, this occurs when the
device is connected to the host through a hub and other devices are
connected to the same hub.

The affected OUT endpoint can be either control, bulk, isochronous, or
an interrupt endpoint. After the OUT endpoint is primed, if an IN token
to the same endpoint number on another device is received, then the OUT
endpoint may be unprimed (cannot be detected by software), which causes
this endpoint to no longer respond to the host OUT token, and thus, no
corresponding interrupt occurs.

There is no good workaround for this issue, the only thing the software
could do is numbering isochronous IN from the highest endpoint since we
have observed most of device number endpoint from the lowest.

Cc: <stable@vger.kernel.org> #v3.14+
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c19dffc0a9511a7d7493ec21019aefd97e9a111b)

5 years agoMLK-22251:VPU Decoder: send fw reset cmd directly
ming_qian [Thu, 11 Jul 2019 05:03:42 +0000 (13:03 +0800)]
MLK-22251:VPU Decoder: send fw reset cmd directly

Signed-off-by: ming_qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
5 years agoMLK-22241-4 imx: include fsl_hvc.h
Peng Fan [Thu, 11 Jul 2019 00:59:36 +0000 (08:59 +0800)]
MLK-22241-4 imx: include fsl_hvc.h

Fix build break, this file was missed when adding xen 4.19 support.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoMLK-22038: VPU Decoder: cancel work when suspend
ming_qian [Wed, 10 Jul 2019 01:34:59 +0000 (09:34 +0800)]
MLK-22038: VPU Decoder: cancel work when suspend

fix kernel panic when suspend

WARNING: CPU: 0 PID: 6579 at kernel/workqueue.c:2069
process_one_work+0x58/0x318

Signed-off-by: ming_qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
5 years agoMLK-22241-3 arm: mm: xen: use __GPF_DMA32 for arm64
Peng Fan [Tue, 9 Jul 2019 08:11:34 +0000 (16:11 +0800)]
MLK-22241-3 arm: mm: xen: use __GPF_DMA32 for arm64

arm64 shares some code under arch/arm/xen, including mm.c.
However ZONE_DMA is removed by commit
ad67f5a6545("arm64: replace ZONE_DMA with ZONE_DMA32").
So to ARM64, need use __GFP_DMA32.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
5 years agoMLK-22241-2 imx: ipc: include back HVC SC
Peng Fan [Tue, 9 Jul 2019 08:07:39 +0000 (16:07 +0800)]
MLK-22241-2 imx: ipc: include back HVC SC

This is a porting from 4.14.98
commit <b042bb0ec66e> ("MLK-18592-1 soc: imx: use vendor hvc to communiate with SCU")
to make dom0 share same MU channel with XEN.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
5 years agoMLK-22241-1 arm64: dts: fix dom0/u
Peng Fan [Tue, 9 Jul 2019 08:05:03 +0000 (16:05 +0800)]
MLK-22241-1 arm64: dts: fix dom0/u

lvds/dpu related reg property changed, so need to update dom0 to
passthrought the original reg to domu, however xen only support
4KB page, so enlarge the passthrough area, this not hurt linux,
it only let xen create big stage 2 mapping.

Drop some reg property in DomU, because domu dts include
fsl-imx8qm-device.dtsi, need to align with dtsi to avoid override
reg, otherwise domu might access wrong reg.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
5 years agoMLK-20780 virtio_ring: check dma_mem for xen_domain
Peng Fan [Mon, 21 Jan 2019 02:44:49 +0000 (10:44 +0800)]
MLK-20780 virtio_ring: check dma_mem for xen_domain

on i.MX8QM, M4_1 is communicating with DomU using rpmsg with a fixed
address as the dma mem buffer which is predefined.

Without this patch, the flow is:
vring_map_one_sg -> vring_use_dma_api
                 -> dma_map_page
       -> __swiotlb_map_page
                ->swiotlb_map_page
->__dma_map_area(phys_to_virt(dma_to_phys(dev, dev_addr)), size, dir);
However we are using per device dma area for rpmsg, phys_to_virt
could not return a correct virtual address for virtual address in
vmalloc area. Then kernel panic.

With this patch, vring_use_dma_api will return false, and
vring_map_one_sg will return sg_phys(sg) which is the correct phys
address in the predefined memory region.
vring_map_one_sg -> vring_use_dma_api
                 -> sg_phys(sg)

Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 484db6e6eb6b8d0ba2cfa946caa53616e23c0364)

5 years agoMLK-18789-3: arm64: defconfig: Add Seiko panel to defconfig
Robert Chiras [Fri, 10 Aug 2018 07:09:02 +0000 (10:09 +0300)]
MLK-18789-3: arm64: defconfig: Add Seiko panel to defconfig

Add Seiko 43WVF1G panel to our defconfig.
Needed for QXP eLCDIF.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
5 years agoMLK-18789-2: drm/bridge: Add driver for legacy Freescale Seiko 43WVFIG adapter
Robert Chiras [Mon, 8 Oct 2018 16:47:43 +0000 (19:47 +0300)]
MLK-18789-2: drm/bridge: Add driver for legacy Freescale Seiko 43WVFIG adapter

This is an adapter card made for the 4.3", 800x480, LCD panel Seiko
43WVFIG. The LCD panel is a 24bit DPI bus, while the adapter card has
two ports: 18-bit and 24-bit data input. For the 18-bit data input, the
adapter card is demuxing some of the data lines, in order to feed all of
the 24 lines needed by the LCD.
This driver handles both this use-cases.

Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
5 years agoMGS-4989 GPU: integrate 6.4.0.RC1 kernel driver
Xianzhong [Tue, 9 Jul 2019 17:10:51 +0000 (01:10 +0800)]
MGS-4989 GPU: integrate 6.4.0.RC1 kernel driver

include more bug-fixing for Vulkan 1.1 and NN driver

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
5 years agoMLK-22038: don't clear instance before reset firmware
ming_qian [Mon, 8 Jul 2019 05:33:42 +0000 (13:33 +0800)]
MLK-22038: don't clear instance before reset firmware

reset firmware may be called after snapshot,
in this case, we shouldn't clear instance,
otherwise, the stream will hang

Signed-off-by: ming_qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
5 years agoMLK-22039: Revert "MLK-19365: crypto: ccm: Cache aligned auth_data"
Horia Geantă [Wed, 3 Jul 2019 13:12:38 +0000 (16:12 +0300)]
MLK-22039: Revert "MLK-19365: crypto: ccm: Cache aligned auth_data"

This reverts commit 486222e88ce3bbc5dd7727e48901d1bf507d3892.

Now that the IV update is done by CAAM engine, the cacheline sharing issue
is no longer noticed. Thus this fix is no longer needed.

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agoMLK-22039: Revert "MLK-14785 CAAM: Fix gcm.c to work correctly with CAAM"
Horia Geantă [Wed, 3 Jul 2019 13:12:23 +0000 (16:12 +0300)]
MLK-22039: Revert "MLK-14785 CAAM: Fix gcm.c to work correctly with CAAM"

This reverts commit 80e2831298dc83891d8e6b5d4d71b3692aa74e30.

Now that the IV update is done by CAAM engine, the cacheline sharing issue
is no longer noticed. Thus this fix is no longer needed.

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agoMLK-22039: Revert "crypto: gcm: Fixed compilation error"
Horia Geantă [Wed, 3 Jul 2019 13:12:12 +0000 (16:12 +0300)]
MLK-22039: Revert "crypto: gcm: Fixed compilation error"

This reverts commit 9134c5ada2853c883e632bc35a19759f282f6591.

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agoMLK-22039: Revert "MLK-19365: crypto: gcm: Cache aligned auth_data"
Horia Geantă [Wed, 3 Jul 2019 13:12:03 +0000 (16:12 +0300)]
MLK-22039: Revert "MLK-19365: crypto: gcm: Cache aligned auth_data"

This reverts commit dd624114c50b1a8cb1bec091e20eaf2539695cde.

Now that the IV update is done by CAAM engine, the cacheline sharing issue
is no longer noticed. Thus this fix is no longer needed.

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agoMLK-22039: crypto: caam - update IV using HW support
Horia Geantă [Mon, 10 Jun 2019 13:30:59 +0000 (16:30 +0300)]
MLK-22039: crypto: caam - update IV using HW support

Modify drivers to perform skcipher IV update using the crypto engine,
instead of performing the operation in SW.

Besides being more efficient, this also fixes IV update for CTR mode.

Output HW S/G table is appended with an entry pointing to the same
IV buffer used as input (which is now mapped BIDIRECTIONAL).

AS (Algorithm State) parameter of the OPERATION command is changed
from INIFINAL to INIT in descriptors used by ctr(aes), cbc(aes).
This is needed since in case FINAL bit is set, HW skips IV updating
in the Context Register for the last data block.

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

backported to imx_4.19.y

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agoMLK-22039: crypto: caam - use len instead of nents for bulding HW S/G table
Horia Geantă [Mon, 10 Jun 2019 13:30:58 +0000 (16:30 +0300)]
MLK-22039: crypto: caam - use len instead of nents for bulding HW S/G table

Currently, conversion of SW S/G table into HW S/G layout relies on
nents returned by sg_nents_for_len(sg, len).
However this leaves the possibility of HW S/G referencing more data
then needed: since buffer length in HW S/G entries is filled using
sg_dma_len(sg), the last entry in HW S/G table might have a length
that is bigger than needed for the crypto request.

This way of S/G table conversion is fine, unless after converting a table
more entries have to be appended to the HW S/G table.
In this case, crypto engine would access data from the S/G entry having
the incorrect length, instead of advancing in the S/G table.
This situation doesn't exist, but the upcoming implementation of
IV update for skcipher algorithms needs to add a S/G entry after
req->dst S/G (corresponding to output IV).

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

backported to imx_4.19.y

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agoMLK-22039: crypto: caam - limit output IV to CBC to work around CTR mode DMA issue
Ard Biesheuvel [Fri, 31 May 2019 08:13:06 +0000 (10:13 +0200)]
MLK-22039: crypto: caam - limit output IV to CBC to work around CTR mode DMA issue

The CAAM driver currently violates an undocumented and slightly
controversial requirement imposed by the crypto stack that a buffer
referred to by the request structure via its virtual address may not
be modified while any scatterlists passed via the same request
structure are mapped for inbound DMA.

This may result in errors like

  alg: aead: decryption failed on test 1 for gcm_base(ctr-aes-caam,ghash-generic): ret=74
  alg: aead: Failed to load transform for gcm(aes): -2

on non-cache coherent systems, due to the fact that the GCM driver
passes an IV buffer by virtual address which shares a cacheline with
the auth_tag buffer passed via a scatterlist, resulting in corruption
of the auth_tag when the IV is updated while the DMA mapping is live.

Since the IV that is returned to the caller is only valid for CBC mode,
and given that the in-kernel users of CBC (such as CTS) don't trigger the
same issue as the GCM driver, let's just disable the output IV generation
for all modes except CBC for the time being.

Fixes: 854b06f76879 ("crypto: caam - properly set IV after {en,de}crypt")
Cc: Horia Geanta <horia.geanta@nxp.com>
Cc: Iuliana Prodan <iuliana.prodan@nxp.com>
Reported-by: Sascha Hauer <s.hauer@pengutronix.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Horia Geanta <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit ed527b13d800dd515a9e6c582f0a73eca65b2e1b)

backported to imx_4.19.y

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
5 years agoMLK-22039: crypto: caam - print IV only when non NULL
Sascha Hauer [Thu, 23 May 2019 08:50:27 +0000 (10:50 +0200)]
MLK-22039: crypto: caam - print IV only when non NULL

Since eaed71a44ad9 ("crypto: caam - add ecb(*) support") the IV can be
NULL, so only dump it when it's non NULL as designated by the ivsize
variable.

Fixes: eaed71a44ad9 ("crypto: caam - add ecb(*) support")
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit f6b99b6e18657aa1222b0c51ad20ac674e764281)

backported to imx_4.19.y

Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>