Make v6 updates on ufshcd-qti.c to match the updates
in ufshcd.c. Also compile UFS crypto when using
ufshcd-qti.
Change-Id: I1799b9b7f0aeee2cb76599403ae8461457a3fcd2
Signed-off-by: Gaurav Kashyap <gaurkash@codeaurora.org>
Add configuration changes in lahaina to support MSM PCIe and MHI
HOST driver.
Change-Id: If6fbbaf3f8efb04566dba2a61a6c4f79dd391515
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
This allows to compile PCIe MSM driver as one module. As part
of that remove Kconfig option PCI_MSM_MSI.
Change-Id: I225b880a01cfc7b480486d7d7db9fabe86256f52
Signed-off-by: Tony Truong <truong@codeaurora.org>
DP driver needs to use both USB SS lane in some use case. Hence
to release USB SS lane, add dwc3_msm_release_ss_lane() API which
performs below operations:
i. Stop USB host mode
ii. Start USB host mode into high speed mode if USB host mode
was active.
dwc3_msm_release_ss_lane() API is blocking call, and will comeback
once above both operations are performed.
Change-Id: I56df606914a613bfe4b76298b0041a66fc74878d
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
CVP firmware introduced new feature to support releasing user
allocated persistent buffers. Added support in kernel.
Change-Id: Ifcd35c328ebfbb961247bf45e2e72222bd3e425b
Signed-off-by: George Shen <sqiao@codeaurora.org>
We need APRIV enabled for eCP as well. But eCP doesn't
call into a6xx_rb_start. Move it to a more generic function
which is called by eCP as well.
Change-Id: I3014bee48145ab5b7c54f01854fe520d9a6db0a6
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
We should not be doing anything specific to preemption like
accessing preemption buffers in a6xx_start as a6xx_start is
called for both eCP and non eCP paths.
Change-Id: Ia7f9e7a54bcbbb6365ddd1f621e1c582faabd962
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
With eCP, kgsl will not be allocating these buffers or anything
related to the ringbuffers. Move this to init time so that this
only gets called when eCP is disabled.
Change-Id: I3c492581d904e35e4a58931bdd1f6e83546a3d2c
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
Make sure the power up register list is allocated only
once and not every time a6xx_init gets called.
Change-Id: Ifc46c6307886d3911788001c05640c0029706fc4
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
As the name suggests, the first_open is called when the device
is opened for the first time. And last_close is called when last
device instance is closed. This helps with differentiating eCP
and non eCP open within adreno namespace.
Change-Id: Idfbb487313d8be4de9d9785dbcdfb479dbab969e
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
Add a function to find the context bank a pagetable is attached
to.
Change-Id: I967c77e9d2f761440f28973485a8ce02c7d27dce
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
Mark rfclka2 as an optional clock for Lahaina. This clock is currently
unused on our internal development boards and thus isn't populated in
cmd_db. It could be used on future boards, so don't remove it entirely.
Change-Id: I0f216e14e675196d4817c89db730d40f1e20aba1
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
The current implementation of sched_preempt_disable trace point
fails to detect the preemption disable time inside spin_lock_bh()
and spin_unlock_bh(). This is because __local_bh_disable_ip() calls
directly __preempt_count_add() which skips the preemption disable
tracking. Instead of relying on the updates to preempt count, it
is better to write the preemption disable tracking directly to
preemptsoff tracer. This is similar to how irq disable tracking
is done.
The current code handles the false positives coming from __schedule()
by directly resetting the time stamp. This requires an interface
from the scheduler to preemptsoff tracer. To avoid this additional
interface, the current patch detects the same condition by comparing
the task pid and context switch count. If they are not matching
at the time of preemption disable to enable, don't track the preemption
disable time as it involved a context switch.
Due to this rework. the sched_preempt_disable trace point location is
changed to
/sys/kernel/debug/tracing/events/preemptirq/sched_preempt_disable/enable
Change-Id: I7f58d316b7c54bc7a54102bfeb678404bda010d4
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
[satyap@codeaurora.org: port to 5.4 and resolve trivial merge conflicts]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Preempt/irqsoff tracer notes down preemption/irqs disabled timestamp
and compares it with enable timestamp to report prolonged disabling
callers at latency tracking. But they don't reset the time stamp at
re-enable time. The time stamp could be stale and possible to report
same latency multiple times or false positive. This could be possible
when callsites uses notrace API (__preempt_) for preemption disable
and tracable API (preempt_) for enable (ex: softirq).
Fix it by resetting the preempt/irqsoff disable timestamp at
re-enable time.
Change-Id: I6790227998881922a9339869ce9ee2dab6202567
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
Enable schedutil governor as part of lahaina port.
Change-Id: I8b04c587fb217fe0333593c95b4e9afc4af83427
Signed-off-by: Shaleen Agrawal <shalagra@codeaurora.org>
Move to use compiler data type instead of C keyword in
uapi.
Change-Id: I814863cbd1969654fd6c4203d863679874cc7892
Signed-off-by: Ruofei Ma <ruofeim@codeaurora.org>