04 Jan, 2021
2 commits
-
This is the 5.10.4 stable release
* tag 'v5.10.4': (717 commits)
Linux 5.10.4
x86/CPU/AMD: Save AMD NodeId as cpu_die_id
drm/edid: fix objtool warning in drm_cvt_modes()
...Signed-off-by: Jason Liu
Conflicts:
drivers/gpu/drm/imx/dcss/dcss-plane.c
drivers/media/i2c/ov5640.c -
This is the 5.10.3 stable release
* tag 'v5.10.3': (41 commits)
Linux 5.10.3
md: fix a warning caused by a race between concurrent md_ioctl()s
nl80211: validate key indexes for cfg80211_registered_device
...Signed-off-by: Jason Liu
30 Dec, 2020
11 commits
-
commit fc3e62e25c3896855b7c3d72df19ca6be3459c9f upstream.
smp2p_update_bits() should disable interrupts when it acquires its
spinlock. This is important because without the _irqsave, a priority
inversion can occur.This function is called both with interrupts enabled in
qcom_q6v5_request_stop(), and with interrupts disabled in
ipa_smp2p_panic_notifier(). IRQ handling of spinlocks should be
consistent to avoid the panic notifier deadlocking because it's
sitting on the thread that's already got the lock via _request_stop().Found via lockdep.
Cc: stable@vger.kernel.org
Fixes: 50e99641413e7 ("soc: qcom: smp2p: Qualcomm Shared Memory Point to Point")
Reviewed-by: Bjorn Andersson
Reviewed-by: Stephen Boyd
Signed-off-by: Evan Green
Link: https://lore.kernel.org/r/20200929133040.RESEND.1.Ideabf6dcdfc577cf39ce3d95b0e4aa1ac8b38f0c@changeid
Signed-off-by: Bjorn Andersson
Signed-off-by: Greg Kroah-Hartman -
[ Upstream commit c2867b2e710fc85bb39c6f6e5948450c48e8a33e ]
Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.Fixes: e943c43b32ce ("PM: AVS: rockchip-io: Move the driver to the rockchip specific drivers")
Reported-by: Hulk Robot
Signed-off-by: Zhang Changzhong
Link: https://lore.kernel.org/r/1607070805-33038-1-git-send-email-zhangchangzhong@huawei.com
Signed-off-by: Heiko Stuebner
Signed-off-by: Sasha Levin -
[ Upstream commit 28f851e6afa858f182802e23ac60c3ed7d1c04a1 ]
if of_find_device_by_node() succeed, meson_canvas_get() doesn't have
a corresponding put_device(). Thus add put_device() to fix the exception
handling for this function implementation.Fixes: 382f8be04551 ("soc: amlogic: canvas: Fix meson_canvas_get when probe failed")
Signed-off-by: Yu Kuai
Reviewed-by: Neil Armstrong
Signed-off-by: Kevin Hilman
Link: https://lore.kernel.org/r/20201117011322.522477-1-yukuai3@huawei.com
Signed-off-by: Sasha Levin -
[ Upstream commit a161ffe4b877721d8917e18e70461d255a090f19 ]
clang static analysis reports this problem
pdr_interface.c:596:6: warning: Branch condition evaluates
to a garbage value
if (!req.service_path[0])
^~~~~~~~~~~~~~~~~~~~This check that req.service_path was set in an earlier loop.
However req is a stack variable and its initial value
is undefined.So initialize req to 0.
Fixes: fbe639b44a82 ("soc: qcom: Introduce Protection Domain Restart helpers")
Reviewed-by: Sibi Sankar
Signed-off-by: Tom Rix
Link: https://lore.kernel.org/r/20200819184637.15648-1-trix@redhat.com
Signed-off-by: Bjorn Andersson
Signed-off-by: Sasha Levin -
[ Upstream commit 4cba398f37f868f515ff12868418dc28574853a1 ]
Fix to return the error code from of_get_child_by_name() instaed of 0
in knav_queue_probe().Fixes: 41f93af900a20d1a0a ("soc: ti: add Keystone Navigator QMSS driver")
Reported-by: Hulk Robot
Signed-off-by: Zhihao Cheng
Signed-off-by: Santosh Shilimkar
Signed-off-by: Sasha Levin -
[ Upstream commit b4fa73358c306d747a2200aec6f7acb97e5750e6 ]
The patch fix two reference leak.
1) pm_runtime_get_sync will increment pm usage counter even it
failed. Forgetting to call put operation will result in
reference leak.2) The pm_runtime_enable will increase power disable depth. Thus
a pairing decrement is needed on the error handling path to
keep it balanced.We fix it by: 1) adding call pm_runtime_put_noidle or
pm_runtime_put_sync in error handling. 2) adding pm_runtime_disable
in error handling, to keep usage counter and disable depth balanced.Fixes: 88139ed030583 ("soc: ti: add Keystone Navigator DMA support")
Signed-off-by: Zhang Qilong
Signed-off-by: Santosh Shilimkar
Signed-off-by: Sasha Levin -
[ Upstream commit ec8684847d8062496c4619bc3fcff31c19d56847 ]
pm_runtime_get_sync will increment pm usage counter even it
failed. Forgetting to pm_runtime_put_noidle will result in
reference leak in knav_queue_probe, so we should fix it.Fixes: 41f93af900a20 ("soc: ti: add Keystone Navigator QMSS driver")
Signed-off-by: Zhang Qilong
Signed-off-by: Santosh Shilimkar
Signed-off-by: Sasha Levin -
[ Upstream commit c1995e5afaf6abf3922b5395ad1f4096951e3276 ]
If a rstctrl reset bit is already deasserted, we can just bail out early
not wait for rstst to clear. Otherwise we can have deassert fail for
already deasserted resets.Fixes: c5117a78dd88 ("soc: ti: omap-prm: poll for reset complete during de-assert")
Signed-off-by: Tony Lindgren
Signed-off-by: Sasha Levin -
[ Upstream commit 4b6ea87be44ef34732846fc71e44c41125f0c4fa ]
On geni-i2c transfers using DMA, it was seen that if you program the
command (I2C_READ) before calling geni_se_rx_dma_prep() that it could
cause interrupts to fire. If we get unlucky, these interrupts can
just keep firing (and not be handled) blocking further progress and
hanging the system.In commit 02b9aec59243 ("i2c: i2c-qcom-geni: Fix DMA transfer race")
we avoided that by making sure we didn't program the command until
after geni_se_rx_dma_prep() was called. While that avoided the
problems, it also turns out to be invalid. At least in the TX case we
started seeing sporadic corrupted transfers. This is easily seen by
adding an msleep() between the DMA prep and the writing of the
command, which makes the problem worse. That means we need to revert
that commit and find another way to fix the bogus IRQs.Specifically, after reverting commit 02b9aec59243 ("i2c:
i2c-qcom-geni: Fix DMA transfer race"), I put some traces in. I found
that the when the interrupts were firing like crazy:
- "m_stat" had bits for M_RX_IRQ_EN, M_RX_FIFO_WATERMARK_EN set.
- "dma" was set.Further debugging showed that I could make the problem happen more
reliably by adding an "msleep(1)" any time after geni_se_setup_m_cmd()
ran up until geni_se_rx_dma_prep() programmed the length.A rather simple fix is to change geni_se_select_dma_mode() so it's a
true inverse of geni_se_select_fifo_mode() and disables all the FIFO
related interrupts. Now the problematic interrupts can't fire and we
can program things in the correct order without worrying.As part of this, let's also change the writel_relaxed() in the prepare
function to a writel() so that our DMA is guaranteed to be prepared
now that we can't rely on geni_se_setup_m_cmd()'s writel().NOTE: the only current user of GENI_SE_DMA in mainline is i2c.
Fixes: 37692de5d523 ("i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller")
Fixes: 02b9aec59243 ("i2c: i2c-qcom-geni: Fix DMA transfer race")
Signed-off-by: Douglas Anderson
Reviewed-by: Stephen Boyd
Reviewed-by: Akash Asthana
Tested-by: Dmitry Baryshkov
Link: https://lore.kernel.org/r/20201013142448.v2.1.Ifdb1b69fa3367b81118e16e9e4e63299980ca798@changeid
Signed-off-by: Bjorn Andersson
Signed-off-by: Sasha Levin -
[ Upstream commit 4007844b05815717f522c7ea9914e24ad0ff6c79 ]
In the error case, where a power domain cannot be powered on
successfully at boot time (in mtk_register_power_domains),
pm_genpd_init would still be called with is_off=false, and the
system would later try to disable the power domain again, triggering
warnings as disabled clocks are disabled again (and other potential
issues).Also print a warning splat in that case, as this should never
happen.Fixes: c84e358718a66f7 ("soc: Mediatek: Add SCPSYS power domain driver")
Signed-off-by: Nicolas Boichat
Link: https://lore.kernel.org/r/20200928113107.v2.1.I5e6f8c262031d0451fe7241b744f4f3111c1ce71@changeid
Signed-off-by: Matthias Brugger
Signed-off-by: Sasha Levin -
[ Upstream commit cf25d802e029c31efac8bdc979236927f37183bd ]
This code needs to call iounmap() on one error path.
Fixes: 2173fc7cb681 ("ARM: shmobile: R-Mobile: Add DT support for PM domains")
Signed-off-by: Dan Carpenter
Link: https://lore.kernel.org/r/20200923113142.GC1473821@mwanda
Signed-off-by: Geert Uytterhoeven
Signed-off-by: Sasha Levin
26 Dec, 2020
1 commit
-
commit b9ce9b0f83b536a4ac7de7567a265d28d13e5bea upstream.
This patch simply fixes a bug of referencing speedos[num] in every
for-loop iteration in get_process_id function.Fixes: 0dc5a0d83675 ("soc/tegra: fuse: Add Tegra210 support")
Cc:
Signed-off-by: Nicolin Chen
Signed-off-by: Thierry Reding
Signed-off-by: Greg Kroah-Hartman
18 Dec, 2020
5 commits
-
* pm/next: (55 commits)
MLK-24081-01: power: imx: Add hdmi rx power domain
soc: fsl: enable acpi support in RCPM driver
soc: fsl: handle RCPM errata A-008646 on SoC LS1021A
LF-2594-4 imx: scu-pd: remove mlb power domain
MLK-24833-1 imx: scu-pd: add lpi2c4 power domain for imx8qm
... -
* net/next: (207 commits)
LF-2788-2 net: ethernet: dwmac-imx: delete check for platform w/o SCU FW
tsn: status return variable initialize to be 0
net:tsn: fix coverity issues
net: tsn: fix headfile voliates the new rule
net:tsn: netlink interface for APP layer to config TSN capability hardware ports
... -
* origin/pm/qoriq:
soc: fsl: enable acpi support in RCPM driver
soc: fsl: handle RCPM errata A-008646 on SoC LS1021A -
* origin/net/dpaa2: (31 commits)
bus: fsl-mc: added missing fields to dprc_rsp_get_obj_region structure
bus: fsl-mc: simplify DPRC version check
Fixed qbman alignment error in the virtualization context
dpaa2-mac: select FSL_XGMAC_MDIO
dpaa2-mac: probe standalone DPMAC objects
... -
* origin/arch/qoriq: (6 commits)
soc: fsl: qbman: Ensure device cleanup is run for kexec
drivers/soc/fsl: add EPU FSM configuration for deep sleep
fsl_pmc: update device bindings
powerpc/pm: Fix suspend=n in menuconfig for e500mc platforms.
powerpc/pm: add sleep and deep sleep on QorIQ SoCs
...
14 Dec, 2020
21 commits
-
This patch enables ACPI support in RCPM driver.
Signed-off-by: Peng Ma
Signed-off-by: Ran Wang -
Hardware issue:
- Reading register RCPM_IPPDEXPCR1 always return zero, this causes
system firmware could not get correct information and wrongly do
clock gating for all wakeup source IP during system suspend. Then
those IPs will never get chance to wake system.Workaround:
- Copy register RCPM_IPPDEXPCR1's setting to register SCFG_SPARECR8
to allow system firmware's psci method read it and do things accordingly.Signed-off-by: Biwen Li
Signed-off-by: Ran Wang -
Some power domain need to be runtime always on to keep
the peripherals's weekup ability, for such power domain,
add the 'GENPD_FLAG_RPM_ALWAYS_ON' flag.Signed-off-by: Jacky Bai
Reviewed-by: Anson Huang -
Add the active wakeup flag if a power domain has such requirement.
Signed-off-by: Jacky Bai
Reviewed-by: Anson Huang
(cherry picked from commit c545e706e40d8ae663b70fd248c7f1565dca45da) -
Add ldo-bypass in gpc driver.
Signed-off-by: Robin Gong
Reviewed-by: Anson Huang -
Now that i.MX6QP does NOT need to handle PU power manually during
suspend/resume, remove those unused APIs.Signed-off-by: Anson Huang
-
The i.MX8M family is a set of NXP product focus on delivering
the latest and greatest video and audio experience combining
state-of-the-art media-specific features with high-performance
processing while optimized for lowest power consumption.i.MX8MQ, i.MX8MM, i.MX8MN, even the furture i.MX8MP are all
belong to this family. A GPC module is used to manage all the
PU power domain on/off. But the situation is that the number of
power domains & the power up sequence has significate difference
on those SoCs. Even on the same SoC. The power up sequence still
has big difference. It makes us hard to reuse the GPCv2 driver to
cover the whole i.MX8M family. Each time a new SoC is supported in
the mainline kernel, we need to modify the GPCv2 driver to support
it. We need to add or modify hundred lines of code in worst case.
It is a bad practice for the driver maintainability.This driver add a more generic power domain driver that the actual
power on/off is done by TF-A code. the abstraction give us the
possibility that using one driver to cover the whole i.MX8M family
in kernel side.Signed-off-by: Jacky Bai
-
Export PU power ON/OFF APIs for suspend/resume usage, some i.MX
platforms need to control PU power status during suspend/resume.Signed-off-by: Anson Huang
-
When running as a guest, under KVM, the CENA region is mapped
as device memory, so uncacheable. When the memory is mapped
as device memory, the unaligned accesses are not allowed.
Memcpy is optimized to transfer 8 bytes at a time regardless
of the start address and might cause alignment issues.Signed-off-by: Diana Craciun
-
Setting the software portal configuration DE(dequeue stashing
enable) bit. This should enable the ACP (Accelerator Coherency
Port).During test this improved performance on the LS2088a slightly. No
effect on the LX2160a.Signed-off-by: Youri Querry
-
Order preservation is a feature that will be supported
in dpni, dpseci and dpci devices.
This is a preliminary patch for the changes to be
introduced in the corresponding drivers.Signed-off-by: Radu Alexe
Signed-off-by: Horia Geantă -
The mechanism for indicating to HW that a frame was dropped
when performing HW order restoration changed in QBMan 5.0 to
use a management command instead of a special enqueue command.
This patch implements that change when running on a QBMan 5.0
and above device.Signed-off-by: Roy Pledge
-
Add DPIO support for HW assisted order restoration
Signed-off-by: Roy Pledge
-
Once we enable the cacheable portal memory, we need to do
cache flush for enqueue, vdq, buffer release, and management
commands, as well as invalidate and prefetch for the valid bit
of management command response and next index of dqrr.Signed-off-by: Haiying Wang
-
Change cache enabled regsiter accessed to be cacheable
plus non-shareable to meet the performance requirement.
QMan's CENA region contains registers and structures that
are 64byte in size and are inteneded to be accessed using a
single 64 byte bus transaction, therefore this portal
memory should be configured as cache-enabled. Also because
the write allocate stash transcations of QBMan should be
issued as cachable and non-coherent(non-sharable), we
need to configure this region to be non-shareable.Signed-off-by: Haiying Wang
-
Make sure that the QBMan device cleanup routines are executed
when the device was previously initialized. This is needed for
kexec since the device will keep it's state from the previous
kernel that was executing.Signed-off-by: Roy Pledge
-
In the last stage of deep sleep, software will trigger a Finite
State Machine (FSM) to control the hardware procedure, such a
board isolation, killing PLLs, removing power, and so on.When the system is waked up by an interrupt, the FSM controls
the hardware to complete the early resume procedure.This patch configure the EPU FSM preparing for deep sleep.
Signed-off-by: Hongbo Zhang
Signed-off-by: Chenhui Zhao
Signed-off-by: Ran Wang -
FPGA on LX2160AQDS/LX2160ARDB connected on I2C bus, so add qixis driver
which is basically an i2c client driver to control FPGA.Signed-off-by: Pankaj Bansal
-
update the noc QoS setting for CPU & VPU on i.MX8MQ.
Signed-off-by: Bai Ping
Reviewed-by: Jian Li
(cherry picked from commit 45d2dcaecce6d83e5c4a7e9488c651a05b0f05ac) -
Config NOC to limit bandwidth to 4GB for both VPU
and CPU to avoid lcdif flickering only when lcdif is enabled.Signed-off-by: Anson Huang
Acked-by: Peng Fan
Reviewed-by: Bai Ping
(cherry picked from commit 8ab89ebeb94a423792bf588bdf2354c5960d8f13) -
When configuring the kernel to not support iMX, eg:
- make defconfig
- make lsdk.config
- CONFIG_ARCH_MXC=nThe build fails:
aarch64-fsl-linux-ld: drivers/soc/imx/secvio/imx-secvio-sc.o:
in function `int_imx_secvio_sc_disable_irq':
linux-nxp/drivers/soc/imx/secvio/imx-secvio-sc.c:385:
undefined reference to `imx_scu_irq_group_enable'
aarch64-fsl-linux-ld: drivers/soc/imx/secvio/imx-secvio-sc.o:
in function `int_imx_secvio_sc_enable_irq':
linux-nxp/drivers/soc/imx/secvio/imx-secvio-sc.c:343:
undefined reference to `imx_scu_irq_group_enable'
Makefile:1173: recipe for target 'vmlinux' failedIt happens because secvio module requires imx-scu-irq disabled
with CONFIG_ARCH_MXC=n.This patch modify the Kconfig for the module to add a dependency
on IMX_SCU symbol.Fixes: 262bd66fafcb (SSI-87: soc: imx: secvio: Add support for SNVS secvio and tamper via SCFW)
Signed-off-by: Franck LENORMAND
Reviewed-by: Dong Aisheng