26 Feb, 2021
1 commit
-
Initialize to zero all ceetm configuration and query structures in qman_high
Signed-off-by: Florinel Iordache
23 Feb, 2021
3 commits
-
In sdhci_esdhc_imx_remove() the SDHCI_INT_STATUS in read. Under some
circumstances, this may be done while the device is runtime suspended,
triggering the below splat.Fix the problem by adding a pm_runtime_get_sync(), before reading the
register, which will turn on clocks etc making the device accessible again.[ 1811.323148] mmc1: card aaaa removed
[ 1811.347483] Internal error: synchronous external abort: 96000210 [#1] PREEMPT SMP
[ 1811.354988] Modules linked in: sdhci_esdhc_imx(-) sdhci_pltfm sdhci cqhci mmc_block mmc_core [last unloaded: mmc_core]
[ 1811.365726] CPU: 0 PID: 3464 Comm: rmmod Not tainted 5.10.1-sd-99871-g53835a2e8186 #5
[ 1811.373559] Hardware name: Freescale i.MX8DXL EVK (DT)
[ 1811.378705] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
[ 1811.384723] pc : sdhci_esdhc_imx_remove+0x28/0x15c [sdhci_esdhc_imx]
[ 1811.391090] lr : platform_drv_remove+0x2c/0x50
[ 1811.395536] sp : ffff800012c7bcb0
[ 1811.398855] x29: ffff800012c7bcb0 x28: ffff00002c72b900
[ 1811.404181] x27: 0000000000000000 x26: 0000000000000000
[ 1811.409497] x25: 0000000000000000 x24: 0000000000000000
[ 1811.414814] x23: ffff0000042b3890 x22: ffff800009127120
[ 1811.420131] x21: ffff00002c4c9580 x20: ffff0000042d0810
[ 1811.425456] x19: ffff0000042d0800 x18: 0000000000000020
[ 1811.430773] x17: 0000000000000000 x16: 0000000000000000
[ 1811.436089] x15: 0000000000000004 x14: ffff000004019c10
[ 1811.441406] x13: 0000000000000000 x12: 0000000000000020
[ 1811.446723] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f
[ 1811.452040] x9 : fefefeff6364626d x8 : 7f7f7f7f7f7f7f7f
[ 1811.457356] x7 : 78725e6473607372 x6 : 0000000080808080
[ 1811.462673] x5 : 0000000000000000 x4 : 0000000000000000
[ 1811.467990] x3 : ffff800011ac1cb0 x2 : 0000000000000000
[ 1811.473307] x1 : ffff8000091214d4 x0 : ffff8000133a0030
[ 1811.478624] Call trace:
[ 1811.481081] sdhci_esdhc_imx_remove+0x28/0x15c [sdhci_esdhc_imx]
[ 1811.487098] platform_drv_remove+0x2c/0x50
[ 1811.491198] __device_release_driver+0x188/0x230
[ 1811.495818] driver_detach+0xc0/0x14c
[ 1811.499487] bus_remove_driver+0x5c/0xb0
[ 1811.503413] driver_unregister+0x30/0x60
[ 1811.507341] platform_driver_unregister+0x14/0x20
[ 1811.512048] sdhci_esdhc_imx_driver_exit+0x1c/0x3a8 [sdhci_esdhc_imx]
[ 1811.518495] __arm64_sys_delete_module+0x19c/0x230
[ 1811.523291] el0_svc_common.constprop.0+0x78/0x1a0
[ 1811.528086] do_el0_svc+0x24/0x90
[ 1811.531405] el0_svc+0x14/0x20
[ 1811.534461] el0_sync_handler+0x1a4/0x1b0
[ 1811.538474] el0_sync+0x174/0x180
[ 1811.541801] Code: a9025bf5 f9403e95 f9400ea0 9100c000 (b9400000)
[ 1811.547902] ---[ end trace 3fb1a3bd48ff7be5 ]---Signed-off-by: Frank Li
Cc: stable@vger.kernel.org # v4.0+
Link: https://lore.kernel.org/r/20210210181933.29263-1-Frank.Li@nxp.com
[Ulf: Clarified the commit message a bit]
Signed-off-by: Ulf Hansson -
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)
Acked-by: Jason Liu -
when killing the vlan, the rx_clk from the phy need to be enabled.
The patch checks the phy's status before killing the vlan. If the phy
is stopped, enable it, remove the vlan, and then stop the phy.Reviewed-by: Frank Li
Signed-off-by: Shenwei Wang
Acked-by: Jason Liu
22 Feb, 2021
1 commit
-
Fix a Coverity issue in lnxwrp_sysfs_fm: invalid type in argument to printf format specifier for phys_addr_t
Signed-off-by: Florinel Iordache
21 Feb, 2021
3 commits
-
Handle HDCP_STATE_INACTIVE and HDCP_STATE_DISABLING state priority
to avoid unnecessary HPD state check, drm has check it when hdcp
enable/disable.Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai
Acked-by: Jason Liu -
FW alive check function may return false in hdcp enable/disable stress test.
Add more time for FW alive check, make sure get correct state.Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai
Acked-by: Jason Liu -
Polling thread check_work is designed to handle all hdcp state change.
In HDCP disable function, check_work thread will be stopped after
hdcp.state is set to HDCP_STATE_DISABLING. check_work thread may miss
the state change, call check link function make sure HDCP_STATE_DISABLING
state is properly handled.Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai
Acked-by: Jason Liu
04 Feb, 2021
2 commits
-
In watchdog_reboot_notifier, wdd should be stopped when the device
is in hw_running stateSigned-off-by: Zhao Qiang
-
Fix a Coverity issue in fm: invalid type in argument to printf format specifier for dma_max_watchdog
Signed-off-by: Florinel Iordache
03 Feb, 2021
1 commit
-
Add the missing pmu node and also fix the issue with kvm that it
requires pmu node to be present.Signed-off-by: Li Yang
Acked-by: Diana Craciun
02 Feb, 2021
1 commit
-
Mailbox driver needs to wait and read all the words in response to a
SCFW API call, else the protocol gets messed up and results in kernel hang.
When the responses are longer than 3 words its possible that SCFW will
take some time to fill up the rest of the words in the MU, a timeout of
100us is arbritrary and too short. While waiting for Linux to consume the
first 3 words of the response SCFW can be busy doing other stuff and hence
Linux needs to wait for the rest of the words.
Similar restriction applies when writing messages that are longer than
3 words.
This patch increases the timeout to 5secs while waiting for response
or writing long messages to SCFW.Signed-off-by: Ranjani Vaidyanathan
30 Jan, 2021
4 commits
-
Add a new member jpeg_parse_error in mxc_jpeg_src_buf, to indicate
an error while parsing the input jpeg stream.
Do not run the decoder when the source buffer is marked with
jpeg_parse_error, instead mark both the source and destination
buffer with VB2_BUF_STATE_ERROR. This will prevent an application
getting stuck waiting to dequeue the destination buffer.Signed-off-by: Mirela Rabulea
-
End of buffer was not properly detected in case of an invalid
buffer stream, such as a stream of null bytes, for example.
This was leading to a kernel oups.
Let get_byte return type be int, so it can return an error for
reaching end of stream.While at it, replace 0 with NULL, for null pointer initialization.
Fixes: 36649dec0eb7 ("mxc-jpeg: Fix result independent of operands")
Signed-off-by: Mirela Rabulea -
Clocks are always on when DSP PD is on. Use dummy clocks
for minimal code impact for now.This is similar with the approach on i.MX8QM.
Signed-off-by: Daniel Baluta
-
This is similar with the refactor for i.MX8MP added in commit
ba2d283f5d9 ("LF-3026-2 ASoC: SOF: imx8m: Remove internal
priv->suspended variable").Because SOF state machine assumes that even if the DSP wasn't previously
active at a System resume, will re-load the firmware we need to make sure
that all needed resources are active.Kernel core will take care of enabling the PD, we need to make sure that
we request the MU channels.Signed-off-by: Daniel Baluta
29 Jan, 2021
2 commits
-
For normal case, userspace should call streamon/streamoff balance, but
for some special case, the process will be killed or terminated and the
streamoff ioctl will be ignored. So driver need to handle the case.Signed-off-by: Guoniu.zhou
Reviewed-by: Robby Cai -
For some tough multi channels test, the default priority of channel0 may
not be scheduled in 500us so that channel context can't be loaded as the
below warning, hence sdma channel transfer will be failed. So raise up
channel0 to the highest one since context load is important to all
channels. Besides, enlarge 500us to 5ms for safe since many highest channel
also may run at the same time like asrc/easrc tough test(8 channel run)."imx-sdma 30e10000.dma-controller: Timeout waiting for CH0 ready"
Signed-off-by: Robin Gong
Reviewed-by: Peng Zhang
28 Jan, 2021
7 commits
-
The latest batch of RM67191 panels have an issue that the panel display
will get blurred and have no response to later display actions when read
data from panel through DSI interface.And decrease the pixel clock rate to 121MHz which means decrease the
panel's frame rate from 60.02Hz to 55.02Hz can solve this issue, so
do this change to make RM67191 display more stable.Signed-off-by: Fancy Fang
Reviewed-by: Robby Cai -
According to the .transfer function definition in mipi_dsi_host_ops,
on success it shall return the number of bytes transmitted for write
packets or the number of bytes received for read packets. So correct
the return value in sec_mipi_dsim_host_transfer() implementation.Signed-off-by: Fancy Fang
Reviewed-by: Robby Cai -
Fix a Coverity issue in fm: extra argument to printf format specifier for dma_max_watchdog
Signed-off-by: Florinel Iordache
-
This reverts commit cd74693870fb748d812867ba49af733d689a3604.
This is a workaround for allowing dm-crypt crypto operations to be
offloaded to caam crypto accelerator.
It's needed because crypto algorithms registered by caam are marked with
CRYPTO_ALG_ALLOCATES_MEMORY flag.Background:
Red Hat reported possible allocation issues in dm-crypt, dm-integrity:
Link: https://lore.kernel.org/linux-crypto/alpine.LRH.2.02.2006091259250.30590@file01.intranet.prod.int.rdu2.redhat.com
The solution found was a mechanism to let dm-crypt, dm-integrity avoid
using crypto algorithms that allocate memory "at runtime" - by specifying
the CRYPTO_ALG_ALLOCATES_MEMORY flag introduced in
commit fbb6cda44190 ("crypto: algapi - introduce the flag CRYPTO_ALG_ALLOCATES_MEMORY")Signed-off-by: Horia Geantă
Reviewed-by: Manish Tomar -
Add dm-crypt device-mapper target to crypto/core branch,
since this is a crypto offloading use case.Signed-off-by: Horia Geantă
Reviewed-by: Manish Tomar -
Since we only support Jailhouse on ARM64, so drop this to avoid
build warning on ARM32Reviewed-by: Dong Aisheng
Signed-off-by: Peng Fan -
The ls-extirq driver doesn't implement the irq_set_wake()
callback, while being wake-up capable. This results in
ugly behaviours across suspend/resume cycles.Advertise this by adding IRQCHIP_SKIP_SET_WAKE to
the irqchip flagsSigned-off-by: Biwen Li
27 Jan, 2021
3 commits
-
Zero-out local configuration structures before filling them up and
passing them to the QMan. In most scenarios, there is no need to fill up
all fields so some random data might linger. This avoids sending potentially
random data to the QMan.Applies to congestions groups, class congestion groups and fq
initialization.Signed-off-by: Camelia Groza
-
The dpa_fd_length() and dpa_fd_offset() calls return values so
the const qualifier is meaningless in this case.Signed-off-by: Camelia Groza
-
HDCP driver will create a thread to poll hdcp state and cable state
every 50ms. Sync HPD debounce time to 50ms with HDCP driver
in case cable state mismatch in HDCP and HDMI driver.Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai
26 Jan, 2021
9 commits
-
After rotations were introduced for Vivante tiled/super-tiled formats and these
formats were also allowed for video channels, the tile type was adjusted only
if the framebuffer modifier was linear or belonged to Vivante tiled types. For
tiled video formats, the modifier is none of those and the tiled type remained
unchanged from the previous run.Tiled video formats are handled by DTRC and DPR always fetches the linear buffers
directly from DTRC.This patch fixes the regression. Also, add a meaningful error message if a wrong
modifier is passed to DPR for the graphics/video path.Fixes: 69c833ef382c ("LF-2580: drm/imx/dcss: add 90/270 rotations for Vivante tiled formats.")
Signed-off-by: Laurentiu Palcu
Reviewed-by: Liu Ying -
Fix a Coverity issue in fm driver: invalid type in argument format specifier
Signed-off-by: Florinel Iordache
-
Fix a Coverity issue in lnxwrp_fm: leaked_storage: Variable p_LnxWrpFmDev going out of scope leaks the storage it points to
Signed-off-by: Florinel Iordache
-
Some HDR10 pipe configurations are not supported by DCSS.
The general idea is to use atomic check to reject the unsupported cases
by searching the array dcss_cfg_table[] to see if a valid entry can be found
or not. To do the atomic check correctly, we should track the output pipe
configurations, which is done by the newly introduced struct dcss_crtc_state.
The plane->atomic_check() function would finally check the input and output
pipe configurations by calling the helper function
dcss_plane_hdr10_pipe_cfg_is_supported().Tested-by: Laurentiu Palcu
Reviewed-by: Laurentiu Palcu
Signed-off-by: Liu Ying -
This patch adds the to_dcss_crtc() helper function to make callers'
life easier.Tested-by: Laurentiu Palcu
Reviewed-by: Laurentiu Palcu
Signed-off-by: Liu Ying -
Fix a Coverity issue in fm: invalid type in argument format specifier for bmi_max_fifo_size
Signed-off-by: Florinel Iordache
-
Fix a Coverity issue in hc: invalid type in argument format specifier
Signed-off-by: Florinel Iordache
-
Fix a Coverity issue in fm driver: format string ended in the middle of specifier %
Signed-off-by: Florinel Iordache
-
Fix i2c address for second and third ak4458 dac on Audio
Board 2.0Signed-off-by: Hongting Dong
Reviewed-by: Adrian Alonso
25 Jan, 2021
3 commits
-
This reverts commit d367e7d3351edc526133e4bd258dac2dd0b4ef4f.
As designed, the default dtb imx8mq-evk can only support one
display: DCSS + native HDMI, and dtb imx8mq-evk-dual-display
is dedicated for multiple dislay.And current multiple displays is implemented by two different
DRM devices with two DRI cards generated. But Weston UI cannot
make sure to choose DCSS for UI display device, so revert this
patch to solve this kind of problem.Signed-off-by: Fancy Fang
-
Add mode_valid() implementation for CRTC to filter out any
mode which cannot be supported by LCDIF. Only check the
CEA and DMT modes for pixel clock round rate is same with
the value from mode.Signed-off-by: Fancy Fang
-
Add USB PHY tuning of imx8mq/p for USB certification, mainly for eye
diagram test.Reviewed-by: Haibo Chen
Reviewed-by: Peter Chen
Signed-off-by: Li Jun