29 Jan, 2021
1 commit
-
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
5 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 -
Add phy tuning result for USB certification, mainly for pass
eye pattern test, details please check its dt binding doc:
Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.txtReviewed-by: Haibo Chen
Reviewed-by: Peter Chen
Signed-off-by: Li Jun -
Add USB PHY parameters tuning for USB certifications.
Reviewed-by: Haibo Chen
Signed-off-by: Li Jun
22 Jan, 2021
10 commits
-
Remove less-than-zero comparison of an unsigned value
Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai -
Check return value to fix Coverity Issue: 11566403.
Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai -
Check return value to fix coverity Issue: 11566404.
Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai -
Delete unused code to fix coverity Issue: 11566405.
Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai -
Delete dead code to fix Coverity Issue: 11566407.
Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai -
Add default access hdcp bus to fix
Coverity Issue: 11566406 Uninitialized scalar variable.Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai -
With mailbox driver support i.MX8 SCU MU channel, we could
use it to avoid trigger interrupts for each TR/RR registers
in one MU, instead, only one RX interrupt for a recv and
one TX interrupt for a send.Signed-off-by: Nitin Garg
Reviewed-by: Dong Aisheng -
This reverts commit 31997c2be9328bfe82fd7484b8532646de4d4965.
This change isn't needed as the new MU binding is efficient and
can handle messages of any sizes.Signed-off-by: Nitin Garg
Reviewed-by: Dong Aisheng -
This reverts commit 175fe6289fcb7e13cb5add2b80cdc0e5e049fb95.
This change isn't needed as the new MU binding is efficient and
can handle messages of any sizes.Signed-off-by: Nitin Garg
Reviewed-by: Dong Aisheng -
The 'dmt' is duplicated by 'drm_mode_find_dmt()' and it
should be explicitly freed after it has been used to avoid
memory leak.This issue is detected by Coverity with CID 1149970.
Signed-off-by: Fancy Fang
Reviewed-by: Robby Cai
21 Jan, 2021
3 commits
-
In case no job rings are available, secure memory structures are not
initialized, since caam_jr_probe()->init_misc_func()->caam_sm_startup()
is not called.
This could happen if all job ring devices bind to the jr uio driver
instead of the caam/jr driver.
Running sm_test in this case will lead to a crash.Add a check to verify that SM has been initialized - if not the tests
will be skipped.Reported-by: Gaurav Jain
Signed-off-by: Horia Geantă
Reviewed-by: Gaurav Jain -
Introduction
===Currently we are facing some limitations in the caam/jr module lifecycle.
There are some discussion in upstream:
Link: https://lore.kernel.org/linux-crypto/20190904023515.7107-13-andrew.smirnov@gmail.com
Link: https://lore.kernel.org/linux-crypto/20191105151353.6522-1-andrew.smirnov@gmail.com
but in the end it all seems to get down to implementations not being able
to gracefully unregister crypto algorithms from crypto API while there are
users / allocated tfms (cra_refcnt > 1).[*] OTOH functionalities in caam/jr that don't interact with crypto API
(like Secure Memory or black keys / blobs generation) don't face this
limitation.Issue at hand
===When unloading the caam_jr module, the .remove callback for the last JR
device exits with -EBUSY (see "Introduction" above) and doesn't perform
the clean-up (crypto algorithms unregistering etc.).One side effect of this is leeding to an oops, which occurs due to a
corruption in the linked list of "misc devices"
(drivers/char/misc.c - misc_list):
1. caam_jr module is unloaded without calling unregister_algs()->
caam_keygen_exit()->misc_deregister() for the last job ring device;
this leaves a dangling entry in the misc_list double-linked list
2. rng_core module is unloaded and calls misc_deregister(); this implies
removing the corresponding entry in the misc_list; while doing this the
dangling entry is accessed - which leads to an oops since the address is
no longer valid (address points to the caam_jr module address space,
but caam_jr has been previously unloaded).Fix this by moving the clean-up of non-crypto related functionalities [*]
before crypto related ones.Fixes: 3af836d4b311 ("MLK-24420-3 crypto: caam - add ioctl calls for black keys and blobs generation")
Signed-off-by: Horia Geantă
Reviewed-by: Gaurav Jain -
In case of long format of qDMA command descriptor, there are one frame
descriptor, three entries in the frame list and two data entries. So the
size of dma_pool_create for these three fields should be the same with
the total size of entries respectively, or the contents may be overwritten
by the next allocated descriptor.Signed-off-by: Guanhua Gao
20 Jan, 2021
2 commits
-
This is the 5.10.9 stable release
* tag 'v5.10.9': (153 commits)
Linux 5.10.9
netfilter: nf_nat: Fix memleak in nf_nat_init
netfilter: conntrack: fix reading nf_conntrack_buckets
...Signed-off-by: Jason Liu
-
This is the 5.10.8 stable release
* tag 'v5.10.8': (104 commits)
Linux 5.10.8
tools headers UAPI: Sync linux/fscrypt.h with the kernel sources
drm/panfrost: Remove unused variables in panfrost_job_close()
...Signed-off-by: Jason Liu