Add support of GCC_AGGRE_USB3_SEC_AXI_CLK, GCC_PCIE_1_PHY_AUX_CLK,
GCC_PCIE_1_PHY_AUX_CLK_SRC and GCC_USB30_PRIM_ATB_CLK clocks
on NIOBE platform.
Change-Id: I3587a847faa27f047abd5fe233cbc5e214ad6ce4
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
__alloc_and_insert_iova_range return -ENOMEM when there is no
suitable size, where dma_buf_map_attachment return -EINVAL which
is not accurate info.
Call trace:
alloc_iova+0x2cc/0x318
alloc_iova_fast+0x190/0x2c4
iommu_dma_alloc_iova+0xc0/0x180
iommu_dma_map_sg+0x1cc/0x3a0
dma_map_sg_attrs+0x44/0xbc
msm_dma_map_sg_attrs+0x398/0x6a4 [msm_dma_iommu_mapping]
qcom_sg_map_dma_buf+0xe4/0x14c [qcom_dma_heaps]
dma_buf_map_attachment+0xcc/0x1d8
fastrpc_mmap_create+0x3a8/0x938 [frpc_adsprpc]
fastrpc_internal_mmap+0x100/0x268 [frpc_adsprpc]
fastrpc_device_ioctl+0x620/0x2078 [frpc_adsprpc]
__arm64_sys_ioctl+0xa8/0xe4
invoke_syscall+0x58/0x11c
el0_svc_common+0xb4/0xf4
do_el0_svc+0x2c/0xb0
el0_svc+0x2c/0xa4
el0t_64_sync_handler+0x68/0xb4
el0t_64_sync+0x1a0/0x1a4
change this to follow upstream usage in
kernel/dma/mapping.c dma_map_sgtable.
Change-Id: I5cec3005a8759de820705c268fef18addb2a8899
Signed-off-by: Kassey Li <quic_yingangl@quicinc.com>
This reverts commit 71e862d942.
After properly switching to public kleaf APIs, we no longer need to
pass --nocheck_bzl_visibility to the build.
Change-Id: I3ff04efd2cbebdeb176f6b67b099f7a6ff6b2fab
Signed-off-by: John Moon <quic_johmoo@quicinc.com>
Currently, we use an in-tree definition of the super_image rule to
generate our super.img files. This rule depends on a private kleaf
API which is no longer visible to msm-kernel after an upstream
change.
To fix, we've upstreamed the super_image rule to kleaf which allows
usage of the private API. Accordingly, we need to make an update here
which uses the new super_image API from kleaf.
Change-Id: Ie904958a773061c83e33190cc9ad89a5467c738e
Signed-off-by: John Moon <quic_johmoo@quicinc.com>
Pin all the pages when physically contiguous pages are coalesced.
Change-Id: I91bc45130dd63a45b4e84f1de847db85ef5efacc
Signed-off-by: Prakruthi Deepak Heragu <quic_pheragu@quicinc.com>
Snapshot of updating lucid prepare callback to check pll calibration
status properly. Also add logic to properly slew the PLL when
HW_UPDATE_LOGIC_BYPASS bit is not set
commit 6e270ebf5893 ("clk: qcom: clk-alpha-pll: Update the lucid
pll ops").
Change-Id: I4ae488d8df6e60dcefdddcc3ab2a696f66e4a594
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
If the hardware is still accessing memory after SMMU translation
is disabled (as part of smmu shutdown callback), then the
IOVAs (I/O virtual address) which it was using will go on the bus
as the physical addresses which will result in unknown crashes
like NoC/interconnect errors.
So, implement shutdown callback for i2c driver to suspend the bus
during system "reboot" or "shutdown".
Change-Id: I58b719082a8d8beed4317b33691115c9e7031ec1
Signed-off-by: Srikanth Nanavalla <quic_snanaval@quicinc.com>
Signed-off-by: Visweswara Tanuku <quic_vtanuku@quicinc.com>
kaslr offset in IMEM is required to decode the ram dumps with
kaslr enabled kernel. Add hibernation callback to update IMEM cookie
during hibernation restore. Use syscore callbacks in this
case to restore the value as soon as possible.
Change-Id: I3fe618c56385362e796e52deb423a035f0e03707
Signed-off-by: Venkatakrishnaiah Pari <quic_vpari@quicinc.com>
Signed-off-by: Shreyas K K <quic_shrekk@quicinc.com>
Add hibernation callback to reinitialize memory_dump table
in IMEM during hibernation restore. Use syscore callbacks in
this case to reinitialize the value as soon as possible.
Change-Id: I243a354ce6ccb9f349684eb9b649d43d5b3ed519
Signed-off-by: Arun KS <arunks@codeaurora.org>
Signed-off-by: Shreyas K K <quic_shrekk@quicinc.com>
Some older targets just support SSCTL_SUBSYS_EVENT_REQ, so add
paremeter like trascation_id_valid to skip trascation_id encode.
Meanwhile, if targets don't support SSCTL_SUBSYS_EVENT_WITH_TID_REQ,
it will retry with SSCTL_SUBSYS_EVENT_REQ.
Change-Id: I2d1a0fbc9e87fcbf246dabc3e686c2e6f60b46ed
Signed-off-by: Song Xue <quic_songxue@quicinc.com>
Currently, we use a few internal Kleaf rules from our custom Bazel
rules. A recent upstream change restricted visibility of these rules
which causes build errors like:
Starlark file //build/kernel/kleaf/impl:common_providers.bzl is not
visible for loading from package //<pkg>. Check the file's
`visibility()` declaration.
While we work to transition to supported Kleaf APIs, let's pass
--nocheck_bzl_visbility to the build so that we can continue using
the private Kleaf APIs.
This change should be reverted after migrating to the Kleaf public
APIs.
Change-Id: I1cb807e9e97706e57296be9684842e5e972430ac
Signed-off-by: John Moon <quic_johmoo@quicinc.com>
This patch updates the config flag check for the
msm_mpm_enter_sleep function definition.
Change-Id: Id654d3923fee3d012c59689bdc54088be5207c23
Signed-off-by: Raghavendra Kakarla <quic_rkakarla@quicinc.com>
pmic-voter.o has the vote aggregation logic that is used by SMB5,
SMB1355, SM1398 and QG drivers for controlling the state of
different charger parameters dynamically during operation,
by the registered voter clients.
On older 5.x kernel Makefile, pmic-voter.o was added to each
entry of these drivers, but only one shared instance
pmic-voter.o was getting created.
However, moving to the 6.x kernel, the same Makefile is now creating
one instance for each driver, which is leading to aggregation logic
going bad, as the votable_list is getting duplicated for each driver.
Fix this by exporting APIs in pmic-voter.c driver and remove
its object from other drivers except SMB5 charger driver.
Change-Id: Ied2ea205dd27ab10d41b5edddaac28c170bf4c0a
Signed-off-by: Rakesh Kota <quic_kotarake@quicinc.com>