It is possible that number of commands to be send can exceed
MAX_RPMH_PAYLOAD.
This change adds error checking for such case.
Change-Id: I9c05bf3befd6590fee4625230bb44d7711c625a7
Signed-off-by: Tushar Nimkar <tnimkar@codeaurora.org>
Add NTN3 setup info struct to enable NTN3
IPA offload.
Change-Id: Idb8399fa7574dc7ac3b4c119c40b441bfa28793d
Signed-off-by: Amir Levy <alevy@codeaurora.org>
The CPU mux requires to vote correctly on the supply during the
frequency transitions, thus add the pre/post callback hooks which would
enable & set voltage vote on the rail.
Change-Id: I0d4bb88e8d319bfc3f4f8d682964eb7ff3719ce0
Signed-off-by: Taniya Das <tdas@codeaurora.org>
MMU Mapping uses short descriptor mapping on v7 targets and long
descriptor mapping for v8 targets. We have concept of NS shared
cache lines for long decscriptor mapped targets which means no
cache maintenance is required for those.On MDM targets, we use short
descriptor mapping due to low memory constraints and hence the cache
line is not shared and explicit cache maintenance is required. Add
shmbridge flush and invalidate operations inside smcinvoke driver for
MDM targets so as to ensure proper cache maintenance is done.
This change also removes some redundant code and refactors it for
better readability and lesser loc.
Change-Id: Id8216c5247b0584c26f85c08899df16db7f0dc0a
Signed-off-by: Anmolpreet Kaur <anmolpre@codeaurora.org>
For MDMs, LEVMs and targets other than MSMs, we might not
need to register memory as large as 4M for shmbridge.
This change helps to decide the shmbridge pool size according
to the dtsi entry of the target.
Change-Id: I8f6905b5793f2dbe69f269a05cbbe74855eab708
Signed-off-by: Anmolpreet Kaur <anmolpre@codeaurora.org>
set ready and error states for btsss and dspss properly.
define buffer size to hold the bt and dsp state.
Change-Id: I5fd8378547efe730ca2094a44039ff1d6e28ec1d
Signed-off-by: Praveen Koya <pkoya@codeaurora.org>
This enables rpmh master stats driver to get different subsystem's
statistical information.
Change-Id: I2689aa8887e8b1308827db8155acc4aad81240f7
Signed-off-by: Tushar Nimkar <tnimkar@codeaurora.org>
Deferred probe usually runs only on pinned kworkers, which might take
longer time if a device contains multiple sub-devices. One such case
is of sound card on mobile devices, where we have good number of
mixers and controls per mixer.
We observed boot up improvement - deferred probes take ~600ms when bound
to little core kworker and ~200ms when deferred probe is queued on
unbound wq. This is due to scheduler moving the worker running deferred
probe work to big CPUs. Without this change, we see the worker is running
on LITTLE CPU due to affinity.
Since kworker runs deferred probe of several devices, the locality may
not be important. Also, init thread executing driver initcalls, can
potentially migrate as it has cpu affinity set to all cpus.In addition
to this, async probes use unbounded workqueue. So, using unbounded wq for
deferred probes looks to be similar to these w.r.t. scheduling behavior.
Change-Id: Ibae0b8c9e7ee0e55e7a46063634902c751bda7bb
Link: https://lore.kernel.org/r/1616583698-6398-1-git-send-email-ylal@codeaurora.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Yogesh Lal <ylal@codeaurora.org>
Enabled ram dump collection for
cDSP that is used for debug the
cDSP crashes due to UserPD.
Change-Id: I22b276ea5c19dc13d55ab8f36c807e14488fc4ed
Acked-by: Krishnaiah Tadakamalla <ktadakam@qti.qualcomm.com>
Signed-off-by: Jeya R <jeyr@codeaurora.org>
Replace the pm flag of rgmu
GMU_PRIV_PM_SUSPEND with RGMU_PRIV_PM_SUSPEND.
Change-Id: Ibf47e815dd4f45e31c0e31dabb8dde25979d79a6
Signed-off-by: Liu Jianhua <jianhl@codeaurora.org>
When the ioctl is interrupted, it is difficult to
predict and handle the firmware state properly from
the kernel. This change is to keep ioctl cmds from
being interrupted.
Change-Id: I1377122d23e4a63438cc7a844aec56f7e8a9b4cf
Signed-off-by: dpyun <dpyun@codeaurora.org>
This patch contains changes for correcting typo which will correct
expected result from strnstr() function while checking for asd
regulator name.
Change-Id: I85721e775f9bb0c13480ae15ad3b7f4e235e7942
Signed-off-by: priyankar <prigup@codeaurora.org>
Subsection maps are only initialized for NUMA systems when
they invoke free_areas_init(). Not initializing the subsection
maps with memory that exists at boot can cause the memmap for
a section to be freed when memory for a subsection within that
section is hot-added and then hot-removed, which is not correct
behavior, as pfn_valid() will always fail for any memory within
the section, since it no longer has a memmap. Thus, initialize
subsection maps for non-NUMA systems as well.
Change-Id: I8a0633f9b8634d9df7bb88bfbb6f4c306a277e0c
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>