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>
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>
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>
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>
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>
Driver continues handling of MSI0 interrupt even if MHI register access
is not allowed. By doing so it calls the status call back and performs
early notification for the MHI client. This is not needed when MHI register
access is not allowed. Hence skip the handling in this case and return.
Change-Id: I4639cedfd45166f28379539bccb25acd383faca5
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
During fast suspend/resume, the power management states in MHI
can change to any error state. Allow for it by re-checking and
handling it such that pm states are not lost or over-written in
the process.
Change-Id: I264ae096d20b9752837624dc3a4b3ea6131ad9a6
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Some low priority event rings operate on a fast forwarding
mechanism where only the latest event is processed and the rest
are skipped. The recycle API only handles updating the
context write pointer in sequence which causes an out of bounds
doorbell issued to the device due to mismatched values. Add
another API to support handling updates for context write
pointer separately with the fast forwarding use case.
Change-Id: If628b49e063d14920fe734ebd113c9c4c733204b
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Prioritize handling of forced suspend/resume cycle at mission
mode entry and disable boot logger channel after the cycle has
completed to avoid race conditions.
Change-Id: Iddc3d560fa687399434cc8ad51c08509ddfadf70
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Fix freeing the background memory pool to avoid kmemleak as
part of freeing the memory pool.
Change-Id: I29c9d972295900bd0b97c8ab8ee73d668e05a59f
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Upon external soc power down mhi controller context pointer
is set to NULL. If debugfs query is issued at that time it
results into NULL pointer dereference. Fix the issue by adding
a NULL check in debugfs show callback for event and channel.
Change-Id: I8c947bc6c42e80c625bf06c17e73368d2195a2bb
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
If time sync is requested by user space when endpoint is shutting
down dev_wake count gets incremented. This is causing assert when
shutdown API checks the dev_wake count and it is still non-zero.
Fix this issue by protecting time sync API and removal of time sync
under tsync_mutex. This helps to take care of a race condition when
time sync is requested while time sync remove in progress and also
makes sure that dev_wake count becomes zero when time sync remove
is done to prevent assert condition.
Change-Id: I4e758611613e541537dd900306aa81dd3b4a9f3a
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
If extcon handler is present and dpdm regulator is absent, current
code starts USB state machine without checking usb role switch status.
This results into USB PHY being reset while ADSP firmware is performing
charger detection. This may result into wrong/invalid charger detection
instead of SDP causing no USB enumeration. Fix this issue by checking
usb role switch status before kicking USB state machine.
Change-Id: Ic25083a74ac867eeb3869588c3060e6bf05e4007
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
The load bit value used for RBBM_PERFCTR_RBBM_0 is incorrect.
Correct the load bit so that the saved value is loaded into the
desired counter.
Change-Id: Id0c8cb65061ce061ae342f62576ea020553e0f80
Signed-off-by: Puranam V G Tejaswi <pvgtejas@codeaurora.org>
Currently, when sync_state re-votes to remove the init proxies, it
re-votes each voter for each BCM. However, each BCM is associated with
exactly one voter, so we only need to re-vote using the single voter
associated with the BCM. Not only does this improve performance by
removing unnecessary votes, but it can also fix stability issues when
the voter RSC isn't available yet.
Change-Id: Id2de6959ffb17b10c9e88d31308fd22964c3e456
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>