08 Sep, 2020
1 commit
14 Aug, 2020
1 commit
30 May, 2020
3 commits
-
Without this, domu will not able to use wdog function.
Reviewed-by: zhang sanshan
Signed-off-by: Peng Fan
(cherry picked from commit d60d1df535b1d59c7a7ed7c53e86eaa2b2103661) -
The VPU ENC is removed from smmu, it will cause smmu abort.
Drop the PI resources, it is not able to assign and report fail.Reviewed-by: zhang sanshan
Signed-off-by: Peng Fan
(cherry picked from commit 18421a4580ed2a734eaa4a917633d8fe96f4e279) -
For AES CMAC, the max supported message length is (2^16)-1. In order to
support this type of message the MAX_DATA_SIZE_PER_USER must be
increased to bigger value, in order to contains the message header and
the entire message dataSigned-off-by: Hugo Dupras
Reviewed-by: Stéphane Dion
(cherry picked from commit 80438c2b525f0273c93c820c3f3ac6dc68709624)
29 May, 2020
15 commits
-
Keep the EQOS clocks always on to wrokaround the system hang issue when
doing suspend/resume stress test. The root cause is still under debug.
For now, we just add this workaround to make sure the system suspend/resume
function is ok when EQOS is enanble. this workaround will be removed
when the root cause is found.Signed-off-by: Jacky Bai
Reviewed-by: Fugang Duan -
The interrupt parent of PMU node should be gic, so correct it to fix the pmu
no sampling/overflow interrupt issue.Signed-off-by: Jacky Bai
Reviewed-by: Peng Fan
(cherry picked from commit fe0e7065a5c07f9e943c206ae9811c9d081c1feb) -
DomU mipi dsi needs this, so give access, otherwise domu crash
Reviewed-by: Jun Li
Signed-off-by: Peng Fan -
Give SAI0 pad to domu and audio sys reg space.
Reviewed-by: zhang sanshan
Signed-off-by: Peng Fan -
There is a limitation on imx8mm when SAI shared with A core
and M core, and M core is in stop mode, SAI can't be accessed.
So we disable SAI2 node which is newly added to avoid
compatible issue.Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman -
Correct mhdp files copyright.
Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai
(cherry picked from commit b416342c2d04e2bf4bc8b5f75b7c9999b6f08f9f) -
Allow playback for SPDIF only.
Signed-off-by: Viorel Suman
Reviewed-by: Shengjiu Wang
(cherry picked from commit 321894d403e0a2a99823f5dbe2c1ecd92a936b66) -
Add missing SPDIF constraints.
Signed-off-by: Viorel Suman
Reviewed-by: Shengjiu Wang
(cherry picked from commit c94af0b933848b42b167a787c6ed68f172f9a4fa) -
Define XCVR resources for RAM, regs and FIFOs.
Signed-off-by: Viorel Suman
Reviewed-by: Shengjiu Wang
(cherry picked from commit 7d635d2084d492471f0490d2535e22556f93f66a) -
Split RAM, regs and FIFO resources in DTS.
Signed-off-by: Viorel Suman
Reviewed-by: Shengjiu Wang
(cherry picked from commit fbdea7bf8e53c3dc6ba8348c1e2438431a5a34b3) -
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
(cherry picked from commit 7124761ebb33581f7b045712a82663ac3cd4680d) -
add power domain for csi device node
Signed-off-by: Robby Cai
Reviewed-by: Guoniu.zhou
(cherry picked from commit b6195f08924fa05f76e3e6f71733a2118ee1face) -
GPIO4/3 needs to be given access for DomU for otg usb.
MIPI GPIO needs to be passthrough DOmU
LSIO_GPIO1 interrupts gives to DomU, dom0 not need the interrupt
currently.Reviewed-by: zhang sanshan
Signed-off-by: Peng Fan -
Add psci node for inmate dts, otherwise secondary cpus could
not be booted up.Reviewed-by: Alice Guo
Signed-off-by: Peng Fan -
If user change mode from 2592x1944@8 to 1080P@30, ov5640 driver
will report error which can't support 1080P@8. It means driver
can't update frame rate immediately. So remove mode info checking
during find mode. Driver will check the info before start streaming
that resolution and frame rate have updated.Signed-off-by: Guoniu.zhou
(cherry picked from commit 6dd746e4d51692921babf4eaa1c275d619699aa9)
28 May, 2020
2 commits
-
HDMI modules will be reset when device enter suspend,
and registers status will lost.
Add resume function to recovery HDMI INT/I2C/HPD registers status.Signed-off-by: Sandor Yu
-
CEC interrupt status/mask and logical address registers
will be reset when device enter suspend.
It will cause cec failed to work after device resume.
Add cec suspend/resume functions, save these registers status
when suspend and restore them when resume.Signed-off-by: Sandor Yu
27 May, 2020
10 commits
-
Add "fsl,spi-only-use-cs1-sel" to fit i.MX8DXL-EVK.
Spi common code does not support use of CS signals discontinuously.
It only uses CS1 without using CS0. So, add this property to re-config
chipselect value.Signed-off-by: Clark Wang
Reviewed-by: Fugang Duan -
Add property fsl,spi-only-use-cs1-sel to mark this board only uses
CS1 without CS0.Signed-off-by: Clark Wang
Reviewed-by: Fugang Duan -
SPI common code does not support using CS discontinuously for now.
However, i.MX8DXL-EVK only uses CS1 without CS0. Therefore, add a flag
is_only_cs1 to set the correct TCR[PCS].Signed-off-by: Clark Wang
Reviewed-by: Fugang Duan -
instantiate snd_soc_dai_driver for independent symmetric control.
Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman -
Some tja1100 cards phy address is 0x2, some cards is 0x5.
tja1101 cards phy address is 0x2.To make thing simple, and to support tja1100 and tja1101
cards by one dts file, we define the tja110x card phy
address to 0x2 in default bsp.Reviewed-by: Richard Zhu
Signed-off-by: Fugang Duan -
Add below features support for both TJA1100 and TJA1101 cards:
- Add MII and RMII mode support.
- Add refclk in/out support for RMII.Reviewed-by: Richard Zhu
Signed-off-by: Fugang Duan -
Add tja1100/tja1101 card support for enet2 port.
Reviewed-by: Richard Zhu
Signed-off-by: Fugang Duan -
When imx8dxl enet1 is fused as below, enet1 doesn't support
RGMII mode, so add tja1100 RMII phy support.ENET1 otp fuse: word 0xa, bit1
Reviewed-by: Richard Zhu
Signed-off-by: Fugang Duan -
The crtc_states could be got concurrently if multiple atomic checks
happen simultaneously, so ERR_PTR(-EDEADLK) could be returned from
drm_atomic_get_crtc_state(). In such normal cases, we just rollback
all added drm objects and userspace could try the same atomic check
or commit again, so it's unnecessary to warn.Signed-off-by: Liu Ying
Reviewed-by: Sandor Yu
(cherry picked from commit e72359e9308b1bbb30f604ed6118c9216f9c43fd) -
passthrough vpu/esai/pcie/edma and etc to domu, to let domu
could use more functions which is a must for android auto in
domu.Reviewed-by: zhang sanshan
Signed-off-by: Peng Fan
(cherry picked from commit 4574beb1078cbf253f63719abe74b703fc5faadc)
26 May, 2020
2 commits
-
There are two more DONE0_CONFIG/DONE1_CONFIG registers on i.mx8m family.
Add them to save/restore register list during systerm level suspend/
resume to restore them after resume back, otherwise, PDM case maybe failed
in suspend/resume case.Signed-off-by: Robin Gong
Reviewed-by: Shengjiu Wang
(cherry picked from commit 2c213d8ac495065f5ec4182335c151d32d0eb482) -
Enable wdog for rpmsg dts to make wdog function could work properly.
Reviewed-by: Robin Gong
Signed-off-by: Peng Fan
(cherry picked from commit 0268df6bb34b066e2b31f340c8922cb68ade72e7)
25 May, 2020
1 commit
-
The original patch updates REG_MICFIL_STAT in fsl_micfil_reset
method, but not in configure_hwvad_interrupts, fix this.Fixes: e12b0060cdac ("MLK-22598: ASoC: fsl_micfil: Reset channel output
data Flag")
Signed-off-by: Viorel Suman
(cherry picked from commit eb01ee51095e0b11b3f58b52549eec09a14ebca1)
22 May, 2020
5 commits
-
During probe SOF driver loads the topology, which will send messages
to DSP to create the Audio components.SOF DAI component at creation time calls probe() and touches DAI
registers thus we need to make sure DAI clocks are turned on during
probe.Using pm_runtime_get_sync() we force resume to be called which will
enable all necessary clocks.Later we call the pm_runtime_put_sync() and mark the device as
autosuspend. This will cause suspend to be called which will disable
all clocks to save power.Later, when userspace uses the sound card (via aplay/arecord) or any
alsa-lib calls the normal runtime resume/suspend flow will happen.Signed-off-by: Daniel Baluta
Reviewed-by: Shengjiu Wang -
When M4 boots from flexspi, linux should not use that, otherwise
M4 will hang.Reviewed-by: Richard Zhu
Signed-off-by: Peng Fan
(cherry picked from commit 1f49d90ebaf77492bcb2e9f8a8e5a8d4d7aee58a) -
Apparently, in order to enable the MIPI block, the reset signals must
be in asserted mode, in order to proper de-assert and initialize the
MIPI block. So, before the enable process, assert all the MIPI resets.Signed-off-by: Robert Chiras
-
The reason is that we access the register when power is disabled
reproduce command:
echo 8 > /sys/devices/platform/soc@0/30c00000.bus/30c00000.spba-bus/30ca0000.micfil/hwvad/enable[ 332.838518] SError Interrupt on CPU2, code 0xbf000002 -- SError
[ 332.838521] CPU: 2 PID: 1383 Comm: sh Tainted: G O 5.4.24-2.1.0+g2ad925d15481 #1
[ 332.838523] Hardware name: NXP i.MX8MPlus EVK board (DT)
[ 332.838525] pstate: 20000085 (nzCv daIf -PAN -UAO)
[ 332.838526] pc : regcache_sync_block+0x7c/0x258
[ 332.838528] lr : regcache_sync_block+0xf0/0x258
[ 332.838531] sp : ffff800012bf3be0
[ 332.838532] x29: ffff800012bf3be0 x28: 0000000000000000
[ 332.838535] x27: 0000000000000000 x26: 0000000000000001
[ 332.838541] x25: ffff00017753ed00 x24: 0000000000000000
[ 332.838546] x23: ffff00017706d400 x22: 000000000000002b
[ 332.838550] x21: ffff00017753f100 x20: ffff000177538c00
[ 332.838554] x19: 0000000000000001 x18: 0000000000000000
[ 332.838559] x17: 0000000000000000 x16: 0000000000000000
[ 332.838564] x15: 0000000000000000 x14: 0000000000000000
[ 332.838567] x13: 0000000000000000 x12: 0000000000000000
[ 332.838572] x11: ffff800012bf3d50 x10: ffff000173c0e900
[ 332.838577] x9 : ffff00017706d870 x8 : 0000000000000000
[ 332.838582] x7 : 00000000000000a8 x6 : 0000000000000000
[ 332.838587] x5 : 0000000000000000 x4 : ffff800010769d88
[ 332.838592] x3 : ffff80001076d278 x2 : 0000000008000000
[ 332.838597] x1 : ffff800023c10000 x0 : 0000000000000000
[ 332.838603] Kernel panic - not syncing: Asynchronous SError Interrupt
[ 332.838605] CPU: 2 PID: 1383 Comm: sh Tainted: G O 5.4.24-2.1.0+g2ad925d15481 #1
[ 332.838606] Hardware name: NXP i.MX8MPlus EVK board (DT)
[ 332.838608] Call trace:
[ 332.838609] dump_backtrace+0x0/0x140
[ 332.838612] show_stack+0x14/0x20
[ 332.838613] dump_stack+0xb4/0xf8
[ 332.838617] panic+0x158/0x324
[ 332.838618] nmi_panic+0x84/0x88
[ 332.838621] arm64_serror_panic+0x74/0x80
[ 332.838622] do_serror+0x80/0x138
[ 332.838623] el1_error+0x84/0xf8
[ 332.838627] regcache_sync_block+0x7c/0x258
[ 332.838628] regcache_rbtree_sync+0x60/0xb0
[ 332.838629] regcache_sync+0xac/0x140
[ 332.838633] disable_hwvad+0x3c/0x1f0
[ 332.838634] micfil_hwvad_handler+0x78/0x170
[ 332.838635] kobj_attr_store+0x14/0x28
[ 332.838637] sysfs_kf_write+0x40/0x50
[ 332.838640] kernfs_fop_write+0xf8/0x210
[ 332.838641] __vfs_write+0x18/0x40
[ 332.838642] vfs_write+0xdc/0x1c8
[ 332.838646] ksys_write+0x68/0xf0
[ 332.838647] __arm64_sys_write+0x18/0x20
[ 332.838648] el0_svc_common.constprop.0+0x68/0x160
[ 332.838651] el0_svc_handler+0x20/0x80
[ 332.838653] el0_svc+0x8/0xc
[ 332.838972] SMP: stopping secondary CPUs
[ 332.838974] Kernel Offset: disabled
[ 332.838975] CPU features: 0x0002,2000200c
[ 332.838976] Memory Limit: noneSigned-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman -
In VDOA_MODE, _get_vdoa_ipu_res() would lock ipu_ch_tbl.lock mutex first,
then lock vdoa_lock mutex and finally unlock ipu_ch_tbl.lock mutex.
The vdoa_lock mutex is unlocked until put_vdoa_ipu_res(). Since the two
mutexes are not unlocked in a reversed order as they are locked, AB-BA
deadlock issue may happen as the below warning shows, which can be detected
with the debug option CONFIG_PROVE_LOCKING enabled.[ 52.398770] ======================================================
[ 52.404957] WARNING: possible circular locking dependency detected
[ 52.411145] 5.4.24 #1477 Not tainted
[ 52.414728] ------------------------------------------------------
[ 52.420915] ipu1_task/92 is trying to acquire lock:
[ 52.425800] 81f02274 (&ipu_ch_tbl.lock){+.+.}, at: get_res_do_task+0x144/0x77c
[ 52.433050]
[ 52.433050] but task is already holding lock:
[ 52.438888] 8183189c (vdoa_lock){+.+.}, at: vdoa_get_handle+0x64/0x158
[ 52.445434]
[ 52.445434] which lock already depends on the new lock.
[ 52.445434]
[ 52.453615]
[ 52.453615] the existing dependency chain (in reverse order) is:
[ 52.461101]
[ 52.461101] -> #1 (vdoa_lock){+.+.}:
[ 52.466175] __mutex_lock+0xb8/0xaa8
[ 52.470283] mutex_lock_nested+0x2c/0x34
[ 52.474735] vdoa_get_handle+0x64/0x158
[ 52.479100] _get_vdoa_ipu_res+0x2b4/0x338
[ 52.483726] get_res_do_task+0x34/0x77c
[ 52.488092] ipu_task_thread+0x148/0xeb0
[ 52.492551] kthread+0x168/0x170
[ 52.496310] ret_from_fork+0x14/0x20
[ 52.500414] 0x0
[ 52.502779]
[ 52.502779] -> #0 (&ipu_ch_tbl.lock){+.+.}:
[ 52.508457] __lock_acquire+0x15d0/0x2588
[ 52.512995] lock_acquire+0xdc/0x280
[ 52.517103] __mutex_lock+0xb8/0xaa8
[ 52.521210] mutex_lock_nested+0x2c/0x34
[ 52.525662] get_res_do_task+0x144/0x77c
[ 52.530113] ipu_task_thread+0x148/0xeb0
[ 52.534566] kthread+0x168/0x170
[ 52.538322] ret_from_fork+0x14/0x20
[ 52.542425] 0x0
[ 52.544790]
[ 52.544790] other info that might help us debug this:
[ 52.544790]
[ 52.552797] Possible unsafe locking scenario:
[ 52.552797]
[ 52.558721] CPU0 CPU1
[ 52.563256] ---- ----
[ 52.567790] lock(vdoa_lock);
[ 52.570853] lock(&ipu_ch_tbl.lock);
[ 52.577040] lock(vdoa_lock);
[ 52.582619] lock(&ipu_ch_tbl.lock);
[ 52.586289]
[ 52.586289] *** DEADLOCK ***
[ 52.586289]
[ 52.592215] 1 lock held by ipu1_task/92:
[ 52.596142] #0: 8183189c (vdoa_lock){+.+.}, at: vdoa_get_handle+0x64/0x158
[ 52.603123]
[ 52.603123] stack backtrace:
[ 52.607493] CPU: 0 PID: 92 Comm: ipu1_task Not tainted 5.4.24 #1477
[ 52.613765] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[ 52.620298] Backtrace:
[ 52.622764] [] (dump_backtrace) from [] (show_stack+0x20/0x24)
[ 52.630345] r7:818641a8 r6:00000000 r5:600f0193 r4:818641a8
[ 52.636026] [] (show_stack) from [] (dump_stack+0xbc/0xe8)
[ 52.643261] [] (dump_stack) from [] (print_circular_bug+0x1c4/0x214)
[ 52.651361] r10:a8330000 r9:ffffffff r8:a8330000 r7:a8330550 r6:81d13b1c r5:81d13ac0
[ 52.659197] r4:81d13ac0 r3:46e9f8d1
[ 52.662783] [] (print_circular_bug) from [] (check_noncircular+0x204/0x21c)
[ 52.671492] r9:00000001 r8:81708f50 r7:00000000 r6:a8423a98 r5:a8330530 r4:a8330550
[ 52.679245] [] (check_noncircular) from [] (__lock_acquire+0x15d0/0x2588)
[ 52.687778] r8:81708f50 r7:81d13ac0 r6:00000001 r5:81e93d7c r4:a8330530
[ 52.694491] [] (__lock_acquire) from [] (lock_acquire+0xdc/0x280)
[ 52.702334] r10:00000000 r9:00000000 r8:00000000 r7:81f02274 r6:600f0113 r5:81708724
[ 52.710169] r4:00000000
[ 52.712717] [] (lock_acquire) from [] (__mutex_lock+0xb8/0xaa8)
[ 52.720384] r10:81e93d7c r9:0000f6d0 r8:81f022e8 r7:00008f50 r6:00000000 r5:ffffe000
[ 52.728219] r4:81f02240
[ 52.730765] [] (__mutex_lock) from [] (mutex_lock_nested+0x2c/0x34)
[ 52.738778] r10:00000000 r9:a8423ccc r8:81f022e8 r7:000002d0 r6:8188b6f8 r5:81f02234
[ 52.746613] r4:a4540400
[ 52.749162] [] (mutex_lock_nested) from [] (get_res_do_task+0x144/0x77c)
[ 52.757612] [] (get_res_do_task) from [] (ipu_task_thread+0x148/0xeb0)
[ 52.765886] r10:a8139bd0 r9:a8423ccc r8:81f022e8 r7:a4540400 r6:81831604 r5:a454053c
[ 52.773721] r4:600f0013
[ 52.776269] [] (ipu_task_thread) from [] (kthread+0x168/0x170)
[ 52.783849] r10:a8139bd0 r9:80b8d558 r8:81f022e8 r7:a8422000 r6:00000000 r5:a840cd00
[ 52.791684] r4:a83cc080
[ 52.794231] [] (kthread) from [] (ret_from_fork+0x14/0x20)
[ 52.801460] Exception stack(0xa8423fb0 to 0xa8423ff8)
[ 52.806521] 3fa0: 00000000 00000000 00000000 00000000
[ 52.814711] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 52.822898] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 52.829521] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:80168360
[ 52.837356] r4:a840cd00This patch corrects the locking/unlocking sequence for the two mutexes
to fix the deadlock issue.Reviewed-by: Sandor Yu
Signed-off-by: Liu Ying
(cherry picked from commit c18ff376db6529818037a66b2cafaa3f512577d8)