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>
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>
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>
Adding new vendor id and product id to
support additional hardware.
Change-Id: I777568f1a68b15345695e09d2ad89e9230508886
Signed-off-by: rbandi <rohitbandi@codeaurora.org>
Adding new vendor id to support additional hardware.
Change-Id: I9b37b4dfe0c205428d235ffe1e5f8d8ebe918998
Signed-off-by: rbandi <rohitbandi@codeaurora.org>
Enable hung task detection for Lahaina platform to detect the
tasks that are stuck in uninterruptible "D" state indefinitely.
Change-Id: Ieb18c8452b3643c57d11ba697a359d5beb7d7255
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
khungtask by default monitors all tasks for long unterruptible sleep.
This change introduces a sysctl option, /proc/sys/kernel/
hung_task_selective_monitoring, to enable monitoring selected tasks.
If this sysctl option is enabled then only the tasks with
/proc/$PID/hang_detection_enabled set are to be monitored,
otherwise all tasks are monitored as default case.
Some tasks may intentionally moves to uninterruptable sleep state,
which shouldn't leads to khungtask panics, as those are recoverable
hungs. So to avoid false hung reports, add an option to select tasks
to be monitored and report/panic them only.
By default, enable the feature always to monitor selected tasks.
Change-Id: I48cd8cfe73dbe2b577541fe9607190eac5556bb2
Signed-off-by: Imran Khan <kimran@codeaurora.org>
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
[sramana: Resolved minor merge conflict]
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
[rananta: Resolved compilation errors]
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>