In order to avoid leakage between the graphics and the CX
rails, set the GPU_DD_WRAP_CTRL__GFX_PDN bit.
Change-Id: I7b2e59606e73c467c2b862f0162a176611d7ae3d
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
If device is disconnected in the middle of data transfer
there is a possibility of pending events in the secondary
event ring. As a result when xHC is halted as part of device
disconnect, device is not getting detected upon re-connect.
Fix the issue by acknowledging the pending events upon
device disconnect. Also this allows to finish the clean up
of event ring otherwise this results into a memory leak.
Change-Id: I2ec3d74867e0129dad395d1dbe920b468ac5949d
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
As part of bus suspend if xHC is halted when there are pending
events in the event ring, xHC stops responding to xhci commands
upon host or device initiated bus resume. Fix this issue by
going over all the pending events and writing address of xHC
event ring enqueue pointer to ERDP register. This indicates to
xHC that system software has processed all Events in the ring.
Change-Id: I0c1fafb03c9848d043599fcee19e9bf07c3a3acd
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
The current API exposed to clients for doing
cache operations didn't provide option to
specify offset within ion buffer and goes
and performs operation on complete buffer.
Export new function for clients which wants to
perform cache operation on specific range
within ion buffer.
We would also need to amend the current generic
ion_do_cache_op function to correctly take into
account the offset within buffer.
Change-Id: I5e4e7beda47cbbd43783048c64fe5adb2beb7023
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Currently, in the power supply notifier callback, GEN3 FG driver
calls pm_stay_awake() which increases the wake source count on
its device before it schedules status_change_work. In case, if
status_change_work is already pending, then pm_stay_awake() will
not have a balanced pm_relax() call as the work will not get
scheduled again if it's pending already. Fix this by scheduling
status_change_work and hence call pm_stay_awake() only if it is
not pending.
Change-Id: I2b8e28f6bfe1a5813410c7b1276d4e229eb67e84
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Currently, GEN3 FG driver uses a debug battery id threshold of
7 KOhms. However, depending on the battery id chosen by the user
this threshold can be modified in the bootloader. Hence, add
support to read the debug battery id thresholds directly from
RR_ADC peripheral registers. This can be used to decide whether
a fake battery SOC (67) can be displayed to the user.
Change-Id: I22ab702e10c310e4f847c6c81a48a8f0f3188429
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Add support to configure battery connector resistance (Rconn) so
that battery resistance can take into account of that along with
ESR and Rslow.
Change-Id: Ib330c4f9b6d55c75aeb8e8fd5cea4dd92b0f64cf
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Add initial set of configuration for GPU mempools
to reserve page pools at init time of kgsl driver.
Change-Id: I088aafe8cef621550b1776ca5a652c66e8ac5b62
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
Remove dev reference in icnss_set_wlan_mac_address as
this function is called by external module and won't
be able to get ICNSS dev pointer.
CRs-Fixed: 1099641
Change-Id: I21c992676c41b6cdc3ea53722806e8d0be78d9d5
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Scaler enable flag should be validated after copying the
scaler structure from the user space driver. For qseed2
scaler the enable flag should be set to true if this structure
is populated from user space driver.
CRs-Fixed: 1094768
Change-Id: I21b23137dcb310793656d7104594803d1727bbaa
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Previously the size was 512 which could have caused performance
issues.
Change-Id: If9577b1303c7cfad5c7175448ca93582222fbbb5
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
When the remote Secure Processor (SP) subsystem crash (SSR), the
communication link goes down. Print error messages for this rare event.
Change-Id: Ib3f719e218d972b75936d9960e342ecfe6787301
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
Enable update xfer for DBM while configuring dbm endpoint
and also clear update xfer before queueing end xfer command as
part of endpoint disable as hardware programming guide.
CRs-Fixed: 965207
Change-Id: Ib5ec650884ad06394280416ccf877c1ccce1eaaf
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Fix compilation errors which were triggered after enabling
smcinvoke driver for targets which has 32bit architecture.
Change-Id: Id85cea7720343cb4101155d5f33f93a1b9946abf
Signed-off-by: AnilKumar Chimata <anilc@codeaurora.org>
Compilation error fix for 32 bit version mpq demux common plugin
Change-Id: Id2472097e115f1c8d09886c1a1ceb01c4f5c5f4b
CRs-Fixed: 1090466
Signed-off-by: Udaya Mallavarapu <udaym@codeaurora.org>
MSM GPIO 64 is connected to Camera Focus Button and MSM GPIO 113 is
connected to Camera Snapshot Button. Add the nodes for these buttons
along with their pintrl configuration.
Change-Id: Ifc03c72233dcf1081fc3f2fed495d19e48bb8c7d
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Current code is resizing each USB IN endpoint's TXFIFO to 1KB if it is
not USB GSI endpoint or bursting is not enable. In some high throughput
test case where there is contention in terms of accessing DDR memory
through SNOC between USB3 and other peripheral PCIE, there are many
underrun errors (i.e. Bad Data Length/Bad CRC) observed. These errors
results into retransmision of USB packets and sometime dropping packets
causing diffrent kind of data stalls. Hence fix this issue by increasing
TXFIFO size as 3KB with endless USB IN endpoint (i.e. USB BAM2BAM
endpoint) which helps to successfully retransmit packets.
Change-Id: I73860a7bb252a0226b591a5f732e6a7b864911cf
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
For DBM endpoints, queueing endless request through generic ep_queue
API should not allowed. Otherwise it might lead to crash when called
dwc3_gadget_map_request(). Hence add check whether it is DBM endpoint
or not and if it is, return error.
Change-Id: I7923df35f30293ac7ebb94b656f709f4ba5e00e5
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
There is a possibility of dwc3_msm_ep_queue() and msm_ep_unconfig() racing
each other if suspend happens right after configured. This scenario will
result in NOC error if start_xfer command gets queued after
msm_ep_unconfig(). Hence fix the issue by adding spinlock protection for
DBM endpoint configuration and unconfiguration.
Change-Id: I3fd007647370250017c97faebffadb35afb7fc4d
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
There is a chance that error might occur in connect_work before
endless request is queued to USB controller and bails out. In this case,
DBM endpoint will not be disabled and results in setendpoint config
command timeouts after next connect and could cause usb endpoint enable
fails. Fix this by disabling DBM endpoint corresponding to USB endpoint
in msm_ep_unconfig() if there are no requests queued to USB endpoint.
Change-Id: I5601d76c58263150a3ad5b026a8f2b10da087ba5
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
When function driver calls dwc3_msm_ep_queue() to queue endless request,
first check endpoint status and whether any request already queued or not.
If that is the case, return error. Else go ahead with queuing request
to USB HW. This helps in resolving the crash seen when request is being
queued again.
Change-Id: I3d6a603c693d1df36719f57684ffad409e1a0e78
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
On new platforms, endpoint clock gating is added for dbm endpoints
with Synopsys USB3.0 controller. This hardware feature requires
initialization of DBM endpoint before BAM pipe reset for bam2bam mode
data transfers working. Hence change sequence such that do DBM endpoint
initialization first followed by BAM pipe reset and do start transfer
as last operation.
CRs-Fixed: 965207
Change-Id: Ib5bfd1a7d258fe336a4c9924850fc9223c1c81f6
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Move the stub regulator to RPM-control based regulators
for most of the rails. Keep the GFX regulator as a stub
until the MSM GFX LDO node is added.
CRs-Fixed: 1100152
Change-Id: Ib2d83635af352513064a3c8b717541bc47b2f875
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
SPMI enables communication with PMIC peripherals. Add
the device tree node for it.
While at it, include the supported PMIC configuration.
CRs-Fixed: 1100152
Change-Id: Ib892e3c550e7486d615e9d29e701d2b0c19c45f0
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
When the remote subsystem crash (SSR),
glink will notify rx-abort for any pending rx buffer that was queued.
The notification callback sets the channel rx-abort flag.
When the channel is closed, reset the rx-abort flag.
Change-Id: I6cca614327f7b8e3216e3872a36f08f33a65b23e
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
An LDO300 regulator is used by the GPU rail on msmfalcon. This LDO
is CPR managed and uses a different configuration/control scheme
compared to Kryo LDO. Add support for this LDO in the CPR3 framework.
CRs-Fixed: 1068294
Change-Id: Ia45152fe211f2ece1028c5cb978beebda86faba3
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Add support for secure camera buffer handling in SDE rotator.
This change adds detaching the secure context when the buffer
with the secure camera flag is signaled and attaches the secure
context when going back to normal non securer-camera usecases.
Change-Id: Iaff45907e78775975fa3035404dcfd9b27e6e816
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Add initial device tree support for QRD platform of
msmfalcon.
Change-Id: Id6787274bf5e1dce8b813835af66874f667144ff
Signed-off-by: Zhenhua Huang <zhenhuah@codeaurora.org>
Configure the limits hardware with the interrupt to listen for.
Limits hardware driver will interact with the trustzone to get
throttling information from the hardware.
Change-Id: I295ea05892075c43d389b3b9a20ea4f68daeba3b
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
Add ufs and ufs-phy device nodes for msmfalcon.
Change-Id: I42e796ca7e1883f5c2077660dbcde87cd4b30038
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Add support for new UFS PHY that is used in
falcon msm.
This PHY is identical to the final 8996 PHY except it
has been moved to VDDMX and level shifters have been added
between the controller/chip and the PHY.
Change-Id: I50681c877917a58c3d70262597300b0d66b1e3a8
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
ETM coresight nodes are not present in 32-bit defconfig
file for msmfalcon. Add support to enable ETM in msmfalcon.
CRs-fixed: 1089405
Change-Id: I8259722a890d8388b62294de40cb29a9005f1a3e
Signed-off-by: Amey Telawane <ameyt@codeaurora.org>
The temp_alarm module monitors the PMIC die-temp. Add the
device tree nodes to enable the module.
CRs-Fixed: 1100015
Change-Id: I17c5d04d8492f237d75eaf433a34b3451428d537
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Crash observed when listen to audio SSR
notifiation during modem up event. Avoid
listen to SSR events as temporary fix.
Change-Id: I754a43a953a311938f4e4103879bff2c2a4551a0
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>