Media and USB Video Class drivers are needed to get USB video
devices functional in USB host mode. Hence enable media and USB
video class drivers on Lahaina.
Change-Id: I70ccc146b55a564b4408496a54b044d52cbf9e41
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Adding inrout buffer CMO support with new cache flush logic
involving offsets and overlaps.
Acked-by: Deepika Singh <dsi@qti.qualcomm.com>
Change-Id: I1e5ac1e3c52c80d40b6c3a0c9207e7a73d06bf65
Signed-off-by: Mohammed Nayeem Ur Rahman <mohara@codeaurora.org>
Enable memory dump driver to be build as a module in the defconfig
on Lahaina.
Change-Id: I284e5d082d5a595f794b15fd66163137596e714e
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Add support to build the memory dump driver as moudle on gki build.
Change-Id: I8cf227d0b0044b935bbf224d1191ec84fa497509
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
The return value of device resume function should be greater than
or equal to 0. Correct the conditional judgment to allow the return
value to be greater than 0. Otherwise, it can cause cti fail to
pass test sometimes.
Change-Id: I195b192d438b954c02c9d2cda2906075e8688ac9
Signed-off-by: Tao,Zhang <taozha@codeaurora.org>
With the exception of control event ring processing, turn
the non-essential error messages to log variants so they
do not show up in dmesg.
Change-Id: Ib49022b25817d8d65dd10d33c4a948698c571082
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Block layer RPM is enabled for the genernal UFS SCSI devices when they are
probed by their driver. However block layer RPM is not enabled for UFS
well-known SCSI devices.
As UFS SCSI devices have their corresponding BSG char devices, accessing
a BSG char device via IOCTL may send requests to its corresponding SCSI
device through its request queue. If BSG IOCTL sends a request to a
well-known SCSI device when hba is not runtime active, due to block layer
RPM is not eanbled for the well-known SCSI devices, hba, which is at the
top of a scsi device's parent chain, shall not be resumed, then unexpected
error would happen.
This change enables block layer RPM for the well-known SCSI devices, so
that block layer can handle RPM for the well-known SCSI devices just like
for the general SCSI devices.
Change-Id: Ie4c5c4876f8500c285166a5f7be87a2157a12df3
Signed-off-by: Can Guo <cang@codeaurora.org>
On Lahaina, both VDD_GFX and VDD_MMCX support LowSVS as the minimum
non-OFF level. Therefore regulator_set_voltage() calls are redundant
and can be safely removed.
Commit f8702f9e4a ("regulator: core: Use ww_mutex for regulators
locking") introduced a call to mutex_lock(®ulator_list_mutex)
inside of regulator_lock_dependent(). This additional locking allows
deadlock to occur for regulator devices whose regulator_ops callback
functions internally call consumer regulator framework API functions
(e.g. regulator_enable(), regulator_disable(), or regulator_set_voltage()).
For short term remove all regulator_set_voltage() calls in the
gdsc-regulator driver as a short term partial workaround for regulator
framework deadlock issue.
Change-Id: I36dff589fe51ea4c932c310b7290a45b21f77992
Signed-off-by: Vivek Aknurwar <viveka@codeaurora.org>
Add QTI implementation for variant ops required for inline
encryption with wrapped key support. These include UFS
crypto ops and KSM ops.
Change-Id: Ica930a8a806a78d4c2d074639cbed355b895a459
Signed-off-by: Gaurav Kashyap <gaurkash@codeaurora.org>
Input Current Limit (ICL) needs to be set only for SDP and not
for other charger types. Add that logic.
Change-Id: Ib48acf5666ea4190b7a11c27ab9cefbb534632fb
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Driver defers processing of BW scaling event if PM state is not in
M0. This delays the BW scaling to take effect. Fix this issue by
resuming the device if it was suspended state and assert wake DB.
After changing the BW of the link de-assert the wake DB.
Change-Id: Ibf827912a4de71d14f461382c28080157c65d6e0
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
We are incorrectly using the default pagetable for LPAC when per-process
page tables are disabled. Create a separate pagetable for LPAC.
Change-Id: I93b9c764fe91260b8b27c9b2d847429d1595a839
Signed-off-by: Raghu Ananya Arabolu <rarabolu@codeaurora.org>
In many cases display panel information may not be available when the touch
driver is being probed. This change defers the probe if the panel is not
found to ensure that the correct touch driver is probed.
Change-Id: I12d1dd3678a85baa468b332d61be4ba9ce81db43
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
The mhi_process_cmd_completion function reads cmd channel id from
cmd_pkt using MHI_TRE_GET_CHID, the value is under the control of MHI
devices and can be any value between 0 and 255. However the max channel
is defined in device tree file and it is usually smaller than 255. This
can cause out of bound access to the channel array. Fix this by checking
the channel id received in cmd ring against the max channel allowed on
target.
Change-Id: Ib6faf67c7eae67186b3a44e6b1612deff6bf05fa
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
PCIe1 and PCIe2 default clock structure needs to have same
clock order as PCIe0. Update the order of PCIe1 and PCIe2
to be the same as PCIe0.
Change-Id: Icefb0f85e301cb3ba9ee4c07d01cf4110137d489
Signed-off-by: Tony Truong <truong@codeaurora.org>
It is possible that the write offload worker gets a chance to
run after PCIe link is handed off to DRV subsystem. DRV
subsystem can enter L1SS sleep while work handler is trying to
access MHI register. This results into NOC error. Fix this
issue by flushing work before handing off PCIe link to DRV
subsystem or link enters D3 cold.
Change-Id: I83e33b3753b62bf13a7f50af52c951b7a09a32e7
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
When PCIe endpoint enters L1SS sleep and mhi client on Host tries to
queue a transfer request endpoint takes more than 6ms to come back to
L0 state. This can cause CPU stall if MHI register write is followed
by a write memory barrier. This can cause other tasks to get blocked.
In order to prevent this add register write offload API
mhi_write_reg_offload() which would queue the write and handle write
request from worker thread in AMSS execution environment.
Change-Id: I0a8b06d2ba96d9beb32fa31564aa0cbb26c885e6
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
This allows to make a decision if different write call
back needs to be called.
Change-Id: I888da16e15e30ac1a7cb58d9272d6041b4d30ec7
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Currently MHI_ASSERT causes kernel panic in debug mode.
In performance mode it just prints warning and continues.
This can cause memory over-read, out of bound memory read.
All the places driver is asserting need to result into a
kernel panic to root cause the issue and prevent unwanted
memory access.
Change-Id: Ica8e1fec7be916621398cd4c5f8bfa6718c33d72
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Enable the Embedded USB debug driver as a module on GKI
builds for Lahaina platform.
Change-Id: I8cd9e94153c08848c4afeb2fb5e24f0ffc81e3e6
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>